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>
)。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應