为什么'std'命名空间中没有'nullptr'?

Max*_*axB 31 c++ nullptr c++11

它似乎nullptr是在默认的全局命名空间中声明的.它在std命名空间中是否有意义?

Oli*_*rth 73

nullptr是一个C++ 11的关键字(亦然if,public,true,void,等),因此命名空间不适用.

  • 更合适的比较:`true` /`false`. (44认同)

Vla*_*cow 27

nullptr指针文字的方式与例如true布尔文字的方式相同.这个文字的类型std::nullptr_t如你所见,这个类型是在名称空间中定义的std::.指针文字在2.14.7 C++标准的指针文字中描述.