C++: Null Pointer
整理自 C++ Primer, 5th Edition
There are several ways to obtain a null pointer:
int *p1 = nullptr; // OK. equivalent to int *p1 = 0;
int *p2 = 0; // OK.
// must #include <cstdlib>
int *p3 = NULL; // OK. equivalent to int *p3 = 0;
int zero = 0;
p3 = zero; // ERROR. cannot assign an int to a pointer
- The most direct approach is to initialize the pointer using the literal
nullptr
, which was introduced by C++11. - Alternatively, we can initialize a pointer to the literal 0.
- Older programs sometimes use a preprocessor variable named
NULL
, which thecstdlib
header defines as 0. - It is illegal to assign an int variable to a pointer, even if the variable’s value happens to be 0.
Comments