关于C++ new 和 delete的问题
在一本C++的书上看见这样一句话:如果使用new[]为一个实体分配内存,则应使用delete(没有方括号)来释放。这句话什么意思?new[]申请不应该用delete[]释...
在一本C++的书上看见这样一句话:如果使用new[]为一个实体分配内存,则应使用delete(没有方括号)来释放。
这句话什么意思?new[]申请不应该用delete[]释放么?
讲明白的必有加分!!!最好能带上例子说明! 展开
这句话什么意思?new[]申请不应该用delete[]释放么?
讲明白的必有加分!!!最好能带上例子说明! 展开
展开全部
new数组的当然要delete[] 不清楚你的书具体是怎么说的,按你所说,这本书这里就讲错了。书上有错很正常的。
追问
C++ primer plus 97页第三行
追答
没这本书。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://wapapp.baidu.com/wapshare/detail/33160680?ssid=0&from=2001a&uid=bk_1302516809_762&pu=usm%400%2Csz%40224_220&bd_page_type=1
我个人的理解:对于基本类型(int,char,long这种)加不加括号没有区别,对于类的对象数组,需要使用括号,因为这个涉及到析构函数的调用,不加括号只有数组的第一个元素调用了析构,后面的都没有调,保险起见都加括号
我个人的理解:对于基本类型(int,char,long这种)加不加括号没有区别,对于类的对象数组,需要使用括号,因为这个涉及到析构函数的调用,不加括号只有数组的第一个元素调用了析构,后面的都没有调,保险起见都加括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int *a = new int;
delete a; //释放单个int的空间
int *a = new int[5];
delete [] a; //释放int数组空间
delete a; //释放单个int的空间
int *a = new int[5];
delete [] a; //释放int数组空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
书错了呗
追问
C++ primer plus 97页第三行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询