C++,编程 delete [ ]p; delete p;这两者有什么区别呢?
答案:3 悬赏:80 手机版
解决时间 2021-03-18 18:44
- 提问者网友:心牵心
- 2021-03-18 01:36
C++,编程 delete [ ]p; delete p;这两者有什么区别呢?
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-03-18 02:56
加了方括号的对应于new sth[N], 只能用于释放new的数组, 没有加方括号的则只能释放非数组追问请问非数组指得是不是sth[0]呢?追答非数组就是new的时候只申请单个对象的内存空间而非一段连续的可以存放多个对象的空间, 形如sth = new Sth()的就用delete sth
而sth是个指针时sth[0]是等价于*(sth + 0)的追问谢!
而sth是个指针时sth[0]是等价于*(sth + 0)的追问谢!
全部回答
- 1楼网友:底特律间谍
- 2021-03-18 05:33
一个是数组?我学java的。。
- 2楼网友:酒醒三更
- 2021-03-18 04:13
例:
char *p=new char[5];
delete []p是释放全部空间
而delete p只是释放p[0]的空间!
char *p=new char[5];
delete []p是释放全部空间
而delete p只是释放p[0]的空间!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯