何時使用 nullptr
在 C 程式碼中,指標可以初始化為概念上等效的值:nullptr、NULL 或 0。值都表示空指針,nullptr 有幾個優點。
重載函數呼叫
考慮以下重載函數:
void f(char const *ptr); void f(int v);
在缺少nullptr,以下呼叫會導致歧義:
f(NULL); //which function will be called?
f(nullptr); //first function is called
nullptr 的模板專業化
template<typename T, T *ptr> struct something{}; //primary template
template<> struct something<nullptr_t, nullptr>>{}; //partial specialization for nullptr
template<typename T> void f(T *ptr); //function to handle non-nullptr argument void f(nullptr_t); //an overload to handle nullptr argument!!!
nullptr 的型別推導
template<typename T> void f(T *ptr); //function to handle non-nullptr argument void f(nullptr_t); //an overload to handle nullptr argument!!!
以上是什麼時候應該在 C 中使用'nullptr”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!