社区
C++ 语言
帖子详情
这样的指针是否需要删除(delete)
那一方人
2005-01-06 11:03:00
cha *a;
char *c()
{
char *b=new char[10];
return b;
}
若有以下的应用
for(int i=0;i<10;i++)
{
a=c();
delete []a; //每次都需要吗?
}
delete []a; //还是在这里销毁一次
...全文
126
6
打赏
收藏
这样的指针是否需要删除(delete)
cha *a; char *c() { char *b=new char[10]; return b; } 若有以下的应用 for(int i=0;i<10;i++) { a=c(); delete []a; //每次都需要吗? } delete []a; //还是在这里销毁一次
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
那一方人
2005-01-06
打赏
举报
回复
thanks
yjh1982
2005-01-06
打赏
举报
回复
每次都要
idler
2005-01-06
打赏
举报
回复
同意oo,把指向无效区域的指针设置成NULL是个好习惯。
xuzheng318
2005-01-06
打赏
举报
回复
把a=NULL这样更安全些!
idler
2005-01-06
打赏
举报
回复
需要。一次new一次delete,配对的。
a = c(); 函数被调用了10遍,因此每遍都要有delete。
oo
2005-01-06
打赏
举报
回复
a=c();
delete []a; //每次都需要吗? //需要,另外,delete后最好把a设置成NULL
delete []a; //还是在这里销毁一次 //不需要了
【c++ 知识点】
delete
的异常情况
文章讨论了在C++中使用
delete
操作符时应注意的几个关键点,包括
删除
空
指针
是安全的,重复
删除
同一块内存会导致错误,以及
delete
本身会检查
指针
是否
为空。建议直接使用
delete
而无需预先检查
指针
是否
为空,以防止不必要的内存泄漏。
关于
delete
野
指针
没有崩溃的神奇bug
本文记录了一次遇到的
delete
野
指针
没有崩溃的神奇bug。虽然C++标准未定义
删除
野
指针
的行为,可能导致崩溃或不崩溃,但通过在VS2008和VS2019上的实验,发现在不同编译环境下结果不同。总结强调,无论
是否
崩溃,
delete
后
指针
应置为空,以遵循良好的编程习惯。
使用DEL_PTR代替
delete
来
删除
指针
本文介绍了一种替代
delete
操作符的方法——DEL_PTR宏,该方法能够在
删除
指针
后将其置空,方便后续代码检查
指针
是否
已被
删除
,提高了程序的安全性和健壮性。
C++
指针
数组释放问题
本文解答了一个关于 C++ 中
delete
[] 运算符使用时的常见疑惑。当两个
指针
指向同一块内存时,使用
delete
[]
是否
会导致重复
删除
的问题。文章解释了 b 作为
指针
数组在使用
delete
[] 时只释放了数组本身资源,并未释放数组内
指针
指向的资源。
new 一定要与
delete
配合使用吗?
这篇博客探讨了在C++中new和
delete
是否
必须成对使用的问题。通过一个程序示例,解释了当不
删除
指向局部变量的
指针
时,系统在局部变量释放时会隐式执行
delete
,从而避免内存泄漏。文中强调了
delete
操作实际销毁的是
指针
的内容,而不是
指针
本身,
指针
的值在
delete
后仍然有效,但其所指内容变为未知状态。
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章