Redian新闻
>
one question about delete in c++
avatar
one question about delete in c++# Programming - 葵花宝典
c*g
1
I saw a statement that delete p will do nothing if p is equal to NULL.
But I also saw a statement that never detele a pointer twice.
Is there a confilict?
Is p NULL after delete p? if not, what's it?
Thanks!
I am a new cop
avatar
r*g
2
delete p 是指针指向的这块空间被系统回收了。p 不会变成NULL,仍然指向那块空间
。此时再delete 一次会出错,因为这块空间已经被回收了
avatar
f*y
3
所以delete p之后很多人喜欢立即p=NULL,防止误用

【在 r********g 的大作中提到】
: delete p 是指针指向的这块空间被系统回收了。p 不会变成NULL,仍然指向那块空间
: 。此时再delete 一次会出错,因为这块空间已经被回收了

avatar
g*g
4
我认为这是C++编译器设计上的错误,应该缺省就做,
p=NULL误用之后只会使当前程序出错,指向任意地方
有可能引起操作系统崩溃。

【在 f*******y 的大作中提到】
: 所以delete p之后很多人喜欢立即p=NULL,防止误用
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。