我的问题来自这个答案。在评论中他提到我应该以相反的顺序删除分配的动态二维数组。但是我不太明白为什么要这样做。这是代码:
//intialising array
int size = 10000;
double **array = new double[size];
for(int i = 0; i < size; i++)
array[i] = new double[size];
//conventional de-initialise
for(int i = 0; i < size; i++)
delete[] array[i];
delete[] array;
//reverse de-initialise
for(int i = size - 1; size >= 0; i--)//notice reverse order here
delete[] array[i];
delete[] array;
所以我的问题是,这两种取消分配二维数组的方法之间有什么显着差异吗?