簡體   English   中英

具有一維常量的二維數組的delete []釋放內存

[英]memory deallocation with delete [] for 2d array with one dimension constant

我像這樣使用new分配了2D數組

  int (*arr)[2] = new int[x][2];

x在運行時計算。

我應該如何釋放該內存? 我試過了

delete [] *arr[0];
delete [] *arr[1]; 

但是,valgrind說他們有13個分配器和14個釋放器。

您使用一個new[] ,所以您應該使用一個delete[]

delete[] arr;

delete[]表格適用於任何new[] 有不單獨箱子new T[x]new T[x][2]或任何東西。 new T[x][2]這樣的表達式實際上是一個new數組,其中array元素的類型為“ 2個T的數組”。

暫無
暫無

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

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