如何在 .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。
我现在正在研究唯一的实例(在 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。