【发布时间】:2011-10-03 14:16:34
【问题描述】:
我首先认为这是一个关键字。我目前的 gcc 没有以不同的阴影突出显示 nullptr。为了验证这一点,我写了以下内容:
void *&p = nullptr;
所以我从错误中得到了一些线索:
错误:“void*&”类型的非常量引用的初始化无效 来自“std::nullptr_t”类型的右值
如果nullptr 是一个对象,那么它真的是一个相当于简单0 的指针吗?换句话说,假设我写:
#define NULL nullptr
上述语句是否不会改变我的代码中的任何内容?此外,了解std::nullptr_t 类型的其他用例也会很有趣。
【问题讨论】:
-
gcc doesn't highlight==>VIM editor doesn't highlight in gcc:) -
您的 gcc 不会“突出显示”
nullptr。 gcc 是一个编译器;编译器唯一的表现是编译产生的错误和警告;希望没有。是您的编辑器将突出显示 nullptr。你的编辑没有跟上新标准的速度应该不足为奇,因为新标准还没有真正存在,至少还没有正式存在。这就是为什么它仍然被称为 C++0x 而不是 C++11。 -
见What exactly is nullptr in C++0x?。您的一些问题已在此处得到解答。
-
vim C++0x 语法见这里:stackoverflow.com/questions/2977174/…
-
@eran:我认为使用 3k+ 代表,您应该已经能够投票支持以完全重复的方式关闭(这反过来会添加与您添加的评论类似的评论)。感谢您指出重复的内容!
标签: c++ pointers c++11 nullptr