中易网

C++中Delete用法:请问int *p=new int(5); 此时delete的形式是delete []p还是delete p;

答案:4  悬赏:70  
解决时间 2021-02-13 11:57
C++中Delete用法:请问int *p=new int(5); 此时delete的形式是delete []p还是delete p;
最佳答案
delete p;
这个p并不是指向一个数组。*p就是那个5
全部回答
delete []p; 因为你的 p 是作为一个指针 指向一片连续的内存的第一个空间,如果你用 delete p;它就只会释放 p 指向的当前空间,也就是这块内存的第一个空间,而后面的空间都没有被释放,delete []p这个就是把这一整块连续内存释放掉,
辨析,int* data = new int[5]; // 这个表示数组有5个元素 int* data = new int(5); // 有何不同?这个表示*data = 5, 完全不一样 知道用哪个了吧。
new int(5)这里的5不是代表有5个元素的数组,而是表示动态分配一个int型内存,然后为其初始化为5,delete的形式是delete p。如果是new int[5],则表示分配一个有5个元素的数组对象,delete的话是delete []p。关于C++动态内存分配的内容可以看下鸡啄米博客的《鸡啄米:C++编程入门系列之三十一(数组、指针和字符串:动态内存分配和释放)》。希望可以帮到你。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么女人喜欢双手抱在胸前呢?
苏州相城区黄埭高中录取分数线是多少?
金珠镇派出所地址在哪,我要去那里办事
隐藏花店怎么去啊,我要去那办事
聚银服饰我想知道这个在什么地方
误食了烟嘧磺隆有什么不良反应
德和顺全羊汤地址在什么地方,想过去办事
我有个朋友偷人家果园的桃子人家报警了。要是
绅宝桌球馆地址在哪,我要去那里办事
51×102怎么简算
在三国中事实上曹操有没有抓到二乔?
春雨教育玉林店在哪里啊,我有事要去这个地方
2 2 2 = 384 填数学符号使之成立
怎样对女朋友好点可以让她更爱你?
假面骑士OOO下一部是什么?
推荐资讯
如何利用网络资源进行小学科学教育
这款是什么相机
战斗机燃料舱在什么位子
重庆电力公司检修分公司的地址?该公司的邮编
如何看待FDD系统下的Massive MIMO
运河街道李口社区居委会地址在什么地方,想过
上古世纪马坐骑怎么获得 上古坐骑培养攻略
为什么用微信拍照后就立即退出微信呢
怎么用路由器设置wifi
带病回乡退伍军人抚恤证有社保吗
如果买彩票时 有2个人中了500万 那钱怎么算?
百信家用电器修理店怎么去啊,有知道地址的么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?