如何阻止此内存泄漏

How to block this memory leak?

本文关键字:泄漏 内存 何阻止      更新时间:2023-10-16

我已经将程序内存泄漏范围缩小到这些动态创建的内容之一。泄漏非常非常小,不会造成任何问题,但最好进行修复,以下是代码:

//allocate row memory:
dynamicNodeArray = new int *[r];
//allocate column memory:
for(int i = 0; i < r; i++)
{
    dynamicNodeArray[i] = new int[c];
}
//...
//allocate memory for nodes (array of structs):
node* nodes = new node[r*c];
//...
//clean up:
for(int i = 0; i < r; i++)
{
    delete dynamicNodeArray[i];
}
delete dynamicNodeArray;
free(nodes);
delete nodes;

delete dynamicNodeArray;应该是delete [] dynamicNodeArray;,因为它是用new[]分配的。

也不要在分配给new()new[]的东西上调用free()