一、nullptr是什么
nullptr是C++11专门用来表示空指针的关键字,用来替代传统的NULL
二、为什么要用nullptr
1.类型安全:
NULL本质是宏,通常定义为0(整数),而不是真正的指针
nullptr是指针类型,只能赋值给指针,不会和整数混淆
2.避免歧义:
void func(int);
void func(char*);
func(NULL);
//会调用func(0),因为NULL是0,不符合预期
func(nullptr);
//会调用func(char*),明确的行为
三、怎么使用
初始化指针为空
int* p = nullptr;
char* s = nullptr;
判断指针是否为空
if(p == nullptr)等等
if(!p)等等
//二者效果一样