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
}