在C++中,动态二维数组一般通过指针数组来实现。要释放动态二维数组占用的内存,需要按照以下步骤进行:
for(int i = 0; i < numRows; i++) {
delete[] array[i];
}
delete[] array;
其中,array
是指向动态二维数组的指针,numRows
是数组的行数。
完整的释放内存的代码示例如下:
int numRows = 5;
int numCols = 3;
int **array = new int*[numRows];
for(int i = 0; i < numRows; i++) {
array[i] = new int[numCols];
}
// 使用动态二维数组
// 释放每一行的内存
for(int i = 0; i < numRows; i++) {
delete[] array[i];
}
// 释放指针数组的内存
delete[] array;
注意,释放内存后,务必将指针置为nullptr
,以避免悬空指针的问题:
array = nullptr;