社区
C语言
帖子详情
delete [] p 与 delete p的区别??
aprccherry
2005-01-04 11:03:08
小弟,才疏学浅有下面的问题请大家执教??3x!!
char * p = new p[bufsize];
if(p != NULL)
{
delete[] p ; //如果这句话变为delete p ;会有什么区别???
p = NULL;
}
...全文
101
7
打赏
收藏
delete [] p 与 delete p的区别??
小弟,才疏学浅有下面的问题请大家执教??3x!! char * p = new p[bufsize]; if(p != NULL) { delete[] p ; //如果这句话变为delete p ;会有什么区别??? p = NULL; }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aprccherry
2005-01-04
打赏
举报
回复
哦,原来如此,3x
chenqing1128
2005-01-04
打赏
举报
回复
楼上的,如果用delete p,只是表面上你看不到也不会报错,但是会有内存泄漏
goodluckyxl
2005-01-04
打赏
举报
回复
怎么会等同呢?
delete[] p;将length个stl对象都释放
delete p释放当前一个
如果length == 1那么就等效果的
aprccherry
2005-01-04
打赏
举报
回复
那么,如果如下,
struct st1
{
...
};
void * p = new struct st1 [length];
delete [] p ; //就不等同于delete p;?????
goodluckyxl
2005-01-04
打赏
举报
回复
[] 后缀释放 释放>=2以上对象空间的地址
delete 一次释放一个对象空间
oo
2005-01-04
打赏
举报
回复
delete[] p ; //如果这句话变为delete p ;会有什么区别???
会free内存,但只调用一次析构函数(delete[]会调用bufsize次析构函数,但因为是char类型,所以没啥区别)
CMyMfc
2005-01-04
打赏
举报
回复
char *p = new char;
delete p;
char *p = new char[LENGTH];
delete []p;
delete
p;与
delete
[] p;的
区别
delete
p; 代表用来释放内存,且只用来释放p指向的内存,即p[0],析构一次。
delete
[] p 用来释放p指向的内存,!!还逐一调用数组中每个对象的~A! class A { public: A() { cout << "A的构造函数" <&...
delete
p和
delete
[] p的
区别
要谈
delete
p和
delete
[]p的
区别
,首先介绍一下new/
delete
,free和malloc的
区别
。这一点在我这篇博客也有简单讲过。 在c语言中,malloc/free是用来负责动态申请/释放内存空间的,他们都是c中的库函数,而...
delete
p和
delete
[] p 有什么
区别
?
答:
delete
p对应于使用 new去动态创建对象
delete
[] p 对应于使用 new[]去动态创建对象数组
delete
*p可以替代
delete
[] p吗?
在stackoverflow看到一个标题描述的问题,问题链接是:https://stackoverflow.com/questions/55524140/is-
delete
-p-an-alternative-to-
delete
-p/55524252#55524252。下面一起来看看它。 有一段来自微软官方文档的...
delete
和
delete
[]的
区别
delete
和
delete
[] 的
区别
: 对于内部没有指针去指向其他自己申请的内存空间,
delete
和
delete
[]的效果是相同的 如 int* p = new int[10];
delete
p和
delete
[] p效果是一样的 而对于如下这种结构,在使用
delete
...
C语言
70,024
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章