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才能正确释放,正确的调用析构函数,不明白到底什么区别?
请赐教~