我先说 使用智能指针,你就永远不用担心这个了。
下面的代码有什么问题?
Foo * p = new Foo;
// (use p)
delete p;
p = NULL;
这是由 回答和评论提出的另一个问题引起的。 Neil Butterworth的一条评论引起了一些赞扬:
在删除后将指针设置为 NULL 并不是 C + + 中通用的良好做法。有时候它是一件好事,有时候它是无意义的,可以隐藏错误。
在很多情况下,这样做是没有用的。但是以我的经验来看,这样做是没有坏处的。有人可以给我一些启发。