21 April 2023

C++ 核心指南目录

“Use nullptr rather than 0 or NULL

理由

可读性。减少出人意料: nullptr 不会和 int 混淆在一起。 nullptr 也是一种完整定义的类型。所以不太会被推演成错误的东西。 NULL0 则很容易被当成数值。

例子

考虑:

void f(int);
void f(char*);
f(0);         // call f(int)
f(nullptr);   // call f(char*)

强化

标记所有以 NULL0 作为指针的地方。工具可能可以进行简单的代码调整。