提问人:MWB 提问时间:2/2/2014 最后编辑:Peter MortensenMWB 更新时间:2/9/2014 访问量:4502
为什么“std”命名空间中没有“nullptr”?
Why isn't 'nullptr' in the 'std' namespace?
答:
76赞
Oliver Charlesworth
2/2/2014
#1
nullptr
是 C++11 关键字(与 、、、 等不同),因此命名空间不适用。if
public
true
void
评论
45赞
Xeo
2/2/2014
更合适的比较:/。true
false
1赞
Gabriel Staples
8/21/2020
我认为他说得对。/ 类比对来自 C 背景的人没有帮助,因为 C 中的 / 只是在 stdbool.h 中定义的宏,它们执行类似 和 的功能。那么,你是说是宏观吗?它是一个整数,就像 C 的 / 一样吗?它是否只是一个零 ()?--这会有点违背 的整个目的,现在,所以与 C++ 的类比真的真的把事情搞糊涂了。true
false
true
false
#define true 1
#define false 0
nullptr
true
false
0
nullptr
true
false
29赞
Vlad from Moscow
2/2/2014
#2
nullptr
是指针文本,其方式与例如是布尔文本的方式相同。此文本的类型是,如您所见,此类型在命名空间中定义 指针文本在 C++ 标准的第 2.14.7 节 指针文本中进行了描述。true
std::nullptr_t
std::
评论