【发布时间】:2020-05-27 03:10:23
【问题描述】:
当指针不再使用时,是否需要创建指针NULL。例如
Foo *foo=new Foo();
//code to be processed by pointer foo
/*end of code*/
delete foo;
foo=NULL; //the point which i am asking
我的问题是:
- 它会对程序造成什么样的影响,即好或坏?
- 如果我们不使用它会发生什么?
提前感谢您清除我的积分。
【问题讨论】:
-
你的意思是
foo=nullptr;,而不是foo=NULL;,因为NULL在C++中没有意义 -
如果不再使用指针,则没有理由使其为空。但无论如何你都不应该使用原始指针。
-
@n.'pronouns'm。 “无论如何你都不应该使用原始指针”我不能同意。不应该使用拥有原始指针。仍然有原始指针的用例,然后将它们设置为有效指针或空指针仍然是一个好习惯
-
@BasileStarynkevitch 什么? NULL 在 C++ 标准中定义(它是 C 定义的一个存根)。
-
@idclev463035818 以及默认情况下会使用不可为空的智能指针,请参阅“十亿美元的错误”。
标签: c++ pointers dereference