c***g 发帖数: 472 | 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 |
r********g 发帖数: 1351 | 2 delete p 是指针指向的这块空间被系统回收了。p 不会变成NULL,仍然指向那块空间
。此时再delete 一次会出错,因为这块空间已经被回收了 |
f*******y 发帖数: 988 | 3 所以delete p之后很多人喜欢立即p=NULL,防止误用
【在 r********g 的大作中提到】 : delete p 是指针指向的这块空间被系统回收了。p 不会变成NULL,仍然指向那块空间 : 。此时再delete 一次会出错,因为这块空间已经被回收了
|
g*****g 发帖数: 34805 | 4 我认为这是C++编译器设计上的错误,应该缺省就做,
p=NULL误用之后只会使当前程序出错,指向任意地方
有可能引起操作系统崩溃。
【在 f*******y 的大作中提到】 : 所以delete p之后很多人喜欢立即p=NULL,防止误用
|