C ++如果我不使用动态内存,是否可能泄漏内存

时间:2015-10-13 03:51:00

标签: c++ memory-leaks stack heap dynamic-memory-allocation

我的代码都没有使用动态内存,但我确实有一个指向Node结构的指针向量,在我的代码中,我确实在某一时刻失去了对这些Node的引用。结构看起来像这样:

struct Node {
int value;
Node* next;
};

我还有一个for循环试图通过在我去的时候取最小的Node来找到我的Node指针向量中的最小值。这里,列表是Node指针的向量,add是前一个最小值。

for (int i = 1; i < int(lists.size()); ++i) {
        if (lists[i]->value <= add) {
            add = lists[i]->value;
            lists[i] = lists[i]->next;
            break;
        }
    }

我认为如果我只是在堆栈中,我就无法泄漏内存......

1 个答案:

答案 0 :(得分:0)

如果动态分配Node数组中引用的lists,则应手动释放所有这些{{1}}。否则会有内存泄漏。您可以在https://en.wikipedia.org/wiki/Memory_leak

上找到更多详细信息
相关问题