[英]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.