NULL是一个“清单常量”(#defineC 中的一个),它实际上是一个整数,可以通过隐式转换分配给指针。
nullptr是表示自定义类型值的关键字,可以转换为指针,但不能转换为整数。
这对于解决泛型编程中可能出现的歧义很重要:
为避免调用一个函数而不是另一个函数的风险,0如果需要整数和nullptr指针,请始终使用。
尽管这可以在 C 中完成,但标准并不保证确实使用了这样的定义。nullptr 是一个关键字,可以在所有需要 NULL 的地方使用。与 NULL 一样,nullptr 可以隐式转换并且与任何指针类型相当。与 NULL 不同,它不能隐式转换或与整数类型相比较。