C++11新增关键字nullptr

nullptr关键字就是表示空指针的意思,C++11之前空指针都是NULL。

已经有了NULL,为什么还要有nullptr关键字?

先来看下传空指针的例子:

这样写会调用fun(int)函数,因为NULL只是个宏定义,值是0是int类型。

我们希望调用的是fun(char*)哪怎么办?改成如方式:

但在C++11中还有更好的解决办法,哪就是用nullptr关键字

用nullptr关键字处理这样问题,代码更简洁、更高效。

注:nullptr表示空指针,不能转换为整型类型。为了向后兼容,C++11仍允许用0(NULL)来表示空指针。建议使用nullptr而不是0(NULL),因为更高的类型安全。

《C++11新增关键字nullptr》上有29条评论

评论已关闭。