-
为什么会有
nullptr
?
这要从C++目前发展的整个趋势来讲,C++11 大部分的新特性都放在了更安全的类型和对象的生命周期控制。而在C++11 之前使用的NULL
,其实就是一个int
类型的0
。这显然不是一种安全的类型表示。所以,在C++ 11 中,添加了nullptr
。使得空指针的描述有一种更安全的方式。 -
nullptr
如何使用?
nullptr
用起来很简单,用它替换你之前使用NULL
的地方就可以了。默认存在从nullptr
到任何类型的指针的隐式转换,反之也成立。强烈建议在C++ 11 及以后的版本中使用nullptr
。 -
其他
typedef decltype(nullptr) nullptr_t; // 总感觉鸡生蛋, 蛋生鸡的关系反了
#define NULL 0 //C++ 11 之前
#define NULL nullptr // C++11 起
网友评论