小编gda*_*ger的帖子

释放2D阵列中的内存

假设我们有:

int** myArray = new int*[100];
for(int i = 0; i < 100; i++){
    myArray[i] = new int[3];
}
Run Code Online (Sandbox Code Playgroud)

解除分配此数组的适当方法是什么(下面的方法,如果这是正确的方法)?

1.

delete[] myArray;
Run Code Online (Sandbox Code Playgroud)

2.

for(int i = 0; i < 100; i++){
    for(int j = 0; j < 3; j++){
        delete myArray[i][j];
    }
}
delete[] myArray;
Run Code Online (Sandbox Code Playgroud)

直观地看起来我们应该做类似2.因为我们想要删除所有分配的内存,但我不确定.

c++ arrays pointers dynamic-allocation

4
推荐指数
1
解决办法
606
查看次数

标签 统计

arrays ×1

c++ ×1

dynamic-allocation ×1

pointers ×1