永发信息网

c++的delete的问题

答案:4  悬赏:80  手机版
解决时间 2021-07-19 16:29

int (*p)[10];

p=new int[3][10];

delete p[0];

请问这样是释放a[0]行的地址还是释放数组的全部的地址??(delete []p这个我知道是释放数组的全部空间,我想知道delete p[0])

最佳答案
出错 释放数组的格式是delete [](指针名) 给你举个例子吧 在VC下,对于char int之类的内建数据类型,在debug下效果的确相同,也就是 char *p=new char[10]; delete p;跟delete []p;效果相同。(可能因为#define new DEBUG_NEW这句话) 但在Release下, 前者存在一定问题,内存貌似并没有被回收。(这个问题还需要进一步测试验证。) 对于非内建类型,正如Mackz指出: “delete只会调用一次析构函数,而delete[]会调用每一个成员的析构函数。” 在MoreEffectiveC++中有更为详细的解释: “当delete操作符用于数组时,它为每个数组元素调用析构函数,然后调用operator delete来释放内存。” 在其他编译器上没有测试。 因此,出于谨慎考虑,还是用delete[]来释放比较好。 至少看上去可读性更好一点。
全部回答
delete p[0];会导致内存异常,我在VC各版本中试过的.
啥都释放不了,会出错的。
全部的 一般这样写 意义不大 用delete[]p的多一些
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
诺基亚N95和N95(8GB)哪里不一样?价格是多
谁用过藏宝阁?上面提现用的开户银行是不是指
为什么男友做的有些事我总是有点不相信他了?
咋和网友联系
我穿越火线 中士升上士时怎么说我是提升为列
关于不要气馁的名言,假如上半年混的不好,千
什么新剧接档IRIS?
在CAD中圆柱与圆柱之间的相贯线如何画?
现在台湾又出什么好看的偶像剧啦?
赞扬孩子的话
使用静态扫描,驱动两个数码管采用什么芯片?
爱尔兰经典诗歌,泰戈尔的经典诗歌
600300 后期的走势如何?现在可以介入吗?
苹果手机为什么不能上q了?
请问我每次一下载500k超过的文件,一会手机上
推荐资讯
dz娃娃 可爱漫妮里的
西伯利亚声卡
为什么玩DNF一PK就延迟?
熊猫看书可以看本地书?
“通过识别问题”英文怎么翻译?
哪个晓得NBA2K10好久上市,就是能在市场上买
中国京剧脸谱的工艺品产地在哪里
这个声音管理器怎么删去
三级数据库怎么考?过了的高手进
武汉大学自主招生是否要自荐信?小作文就是自
问问图标开不了
完美世界国服一百毛毛一套2D+5打黄8黄昏玲龙
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?