re: C++:二維數組和二級指針的傳遞問題 leafcloudsky 2013-07-24 15:04
想問樓主一個問題,關于何時用delete[]:
Point是個自定義的類,GetX獲取x坐標值。
int len = 3;
Point (*arr2)[5] = new Point[len][5];
for (int i=0; i<len; i++)
{
for (int j=0; j<5; j++)
{
cout <<arr2[i][j].GetX()<<" ";
}
cout<<endl;
}
delete arr2; // 發現這里和delete []arr2效果一樣的。為什么?
但如果是以下方式:
Point **arr1 = new Point*[3];
for (int i=0; i<3; i++) arr1[i] = new Point[5];
必須用delete[]p才能正確釋放,正確的調用析構函數,不明白到底什么區別?
請賜教~