如何使C++指针为null

Vij*_*jay 4 c++ pointers

在声明所有c ++指针时,默认情况下应将所有c ++指针初始化为ZERO或NULL以避免任何随机不需要的值.这样我们就可以检查指针是否为空,表示没有启动.

谢谢

Naw*_*waz 9

在C++ 03,喜欢ptr = 0ptr = NULL(Bjarne的S.说,阅读摘录如下,从他引述网站)

在C++ 0x中,ptr = nullptr(见本文)


Bjarne Stroustrup说,

我应该使用NULL还是0?

在C++中,NULL的定义是0,因此只有美学差异.我更喜欢避免宏,所以我使用0. NULL的另一个问题是人们有时会错误地认为它与0不同和/或不是整数.在预标准代码中,NULL有时被定义为不适合的东西,因此必须/必须避免.这些日子不太常见.

如果必须命名空指针,则将其命名为nullptr ; 这就是它将在C++ 0x中调用的内容 .然后," nullptr "将是一个关键字.

  • 我从来没有完全同意在C++ 03中使用文字0而不是"NULL"的建议.写"NULL"在语义上更丰富:它使得它立即清楚表明该值是指针而不是数学量.(两者非常不同,尽管两者都由机器整数表示.) (2认同)