簡體   English   中英

如何阻止此內存泄漏?

[英]How to block this memory leak?

我將程序的內存泄漏范圍縮小到了這些動態創建的內容之一。 泄漏非常小,不會造成任何問題,但是最好將其修復,這是代碼:

//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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM