C++ nullptr与NULL Posted on 2020-12-15 Edited on 2023-10-28 In c++ NULL与nullptr的区别NULL为宏定义 1#define NULL 0 NULL的类型不明显,而一下情况会出现函数重载不明确的情况 123456void f1(int i){}void f1(int* p){}int main(){ f1(NULL); ///< 调用函数不确定,编译器警告或报错} 而nullptr是一个特殊类型(nullptr_t)专门用来指代空指针。见下面代码 123456void f1(int i){} ///< #1void f1(int* p){} ///< #2int main(){ f1(nullptr); ///< 明确调用#2函数}