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

 我来答
xilengyinshe
2011-11-16 · 超过19用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:55.1万
展开全部
new int(5)这里的5不是代表有5个元素的数组,而是表示动态分配一个int型内存,然后为其初始化为5,delete的形式是delete p。如果是new int[5],则表示分配一个有5个元素的数组对象,delete的话是delete []p。关于C++动态内存分配的内容可以看下鸡啄米博客的《鸡啄米:C++编程入门系列之三十一(数组、指针和字符串:动态内存分配和释放)》。希望可以帮到你。
chenzhimin0223
2011-11-16
知道答主
回答量:15
采纳率:0%
帮助的人:10.6万
展开全部
如果int * p = new int[5] ;就用delete [] p , 是int *p=new int(5); 就用delete p ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
头好舞05
2011-11-16 · TA获得超过2099个赞
知道小有建树答主
回答量:797
采纳率:100%
帮助的人:499万
展开全部
delete p;
这个p并不是指向一个数组。*p就是那个5
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wskjuf
2011-11-16 · TA获得超过1289个赞
知道大有可为答主
回答量:1731
采纳率:0%
帮助的人:1790万
展开全部
辨析,int* data = new int[5]; // 这个表示数组有5个元素
int* data = new int(5); // 有何不同?这个表示*data = 5, 完全不一样

知道用哪个了吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式