返回信息流交流一下c++中如何删除动态二维数组
比如说我创建一个动态二维数组
int **p = new int* [4];
for (int i=0; i!=4; i++)
p[i] = new int [5];
for (int i=0; i!=4; i++)
delete [] p[i];
//delete [] p;
//p = 0;
// 大牛们说一下删除的时候是最后一种对 还是倒数第二种对
这是一条镜像帖。来源:北邮人论坛 / cpp / #12465同步于 2008/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[讨论]关于C++中创建及删除动态二维数组的问题
buptchen
2008/9/11镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
自然是delete []p了。。。
【 在 buptchen (chenyuan) 的大作中提到: 】
: 交流一下c++中如何删除动态二维数组
: 比如说我创建一个动态二维数组
: int **p = new int* [4];
: ...................
new 和 delete 是配套使用的,如果用了new就要用delete来释放相对应的空间,如果用了new[],那当然就要用delete[]。
程序中第一维用的new[],所以用delete[]是正确的。
他的意思是想把p=null。。。不过我倒是想起了java里的gc,那里面想删除一个对象就把p=null,然后强制调用System.gc()即可
【 在 diy0829 (小纸条军团〓FreeThrow~DeVildIy) 的大作中提到: 】
: //p = 0;
: 这是干嘛?~
先delete [] p[i],后delete []p。
【 在 buptchen (chenyuan) 的大作中提到: 】
: 楼上同志们能不能解释一下哈。