现在c++ 11有了许多新特性。一个有趣的和令人困惑的(至少对我来说)是新的nullptr
。
好了,不再需要讨厌的宏NULL
了。
int* x = nullptr;
myclass* obj = nullptr;
尽管如此,我还是不明白nullptr
是如何工作的。例如,维基百科的文章表示:
c++ 11通过引入一个新的关键字作为一个特殊的空指针常量nullptr来纠正这个错误。它的类型为类型nullptr_t,可隐式转换,可与任何指针类型或指针到成员类型相比较。它不能隐式转换,也不能与整型相比,bool类型除外。
它如何既是关键字又是类型的实例?
此外,你还有其他的例子(除了维基百科的例子),nullptr
比旧的0
更好吗?