nullptr

關鍵字 nullptr 會指定 類型 std::nullptr_t 為 的 Null 指標常數,可轉換成任何原始指標類型。 雖然您可以使用 關鍵字 nullptr 而不包含任何標頭,但如果您的程式碼使用 型 std::nullptr_t 別 ,則必須藉由包含 標頭 <cstddef> 來定義它。

注意

關鍵字 nullptr 也會定義于 Managed 程式碼應用程式的 C++/CLI 中,且無法與 ISO Standard C++ 關鍵字交換。 如果您的程式碼可能使用 /clr 以 Managed 程式碼為目標的編譯器選項進行編譯,則 __nullptr 您必須保證編譯器使用原生 C++ 解譯的任何程式程式碼。 如需詳細資訊,請參閱 nullptr (C++/CLI 和 C++/CX)。

備註

避免使用 NULL 或零 ( 0 ) 作為 Null 指標常數; nullptr 較不容易誤用,而且在大部分情況下效果較好。 例如,若使用 func(std::pair<const char *, double>),呼叫 func(std::make_pair(NULL, 3.14)) 就會造成編譯器錯誤。 宏 NULL 會展開至 0 ,讓 呼叫 std::make_pair(0, 3.14) 傳回 std::pair<int, double> ,這無法轉換成 std::pair<const char *, double> 中的 func 參數類型。 呼叫 func(std::make_pair(nullptr, 3.14)) 可以成功編譯,因為 std::make_pair(nullptr, 3.14) 會傳回 std::pair<std::nullptr_t, double> (可轉換為 std::pair<const char *, double>)。

另請參閱

關鍵字
nullptr (C++/CLI 和 C++/CX)