如何在 .cpp 文件中使用 NULL?

How to use NULL in a .cpp file?

我现在正在研究唯一的实例(在 c++ 中),我在我的 .cpp 文件中尝试了以下代码。

#include "OnlyInstance.h"

OnlyInstance* OnlyInstance::instance = NULL;
..........

但是编译器告诉我 "error C2065: 'NULL' : undeclared identifier"。 那就是说,我应该

#include <stdio.h> 

前面呢?但我还在主文件中包含了 stdio.h。所以stdio.h在编译的时候会包含很多次吧?如何正确使用 NULL?

另一个问题是,我知道我可以使用0而不是NULL,但在c++中更推荐哪种方式?

NULL 定义在各种 header 中,例如 <cstddef>.

不过,如果您的编译器支持,您应该更喜欢 nullptr 而不是 NULL

多次包含 header 没有问题(如果 header 没有严重损坏,而标准 header 则没有)。

NULL只是一个值为0的define,完全一样。

但如果您可以使用 C++11,我建议您使用 nullptr。