nullptr
Version >= C++ 11
一个关键字表示一个空指针常数。它可以转换为任何指针或指向成员的类型,从而产生结果类型的空指针。
Widget* p = new Widget();
delete p;
p = nullptr; // set the pointer to null after deletion
请注意,nullptr
本身不是指针。nullptr
的类型是一种称为 std::nullptr_t
的基本类型。
void f(int* p);
template <class T>
void g(T* p);
void h(std::nullptr_t p);
int main() {
f(nullptr); // ok
g(nullptr); // error
h(nullptr); // ok
}