C++ 0x 新特性(5):Nullptr

来源:互联网 发布:discuz 模块数据调用 编辑:程序博客网 时间:2024/04/29 05:09

Nullptr对null指针增加的类型安全并且与rvalue reference 有切实联系. 在c++中通常用宏NULL(定义为0)和0作为null指针. 目前还未遇到过什么问题, 但是在perfect forwarding中可能潜在问题, 因此引入了nullptr来避免这种问题.

 

Nullptr 是一个常量nullptr_t, 可以转变为任何指针类型, 但不能转为int 或者char等类型, 除perfect forwarding 函数外, nullptr还可以用在任何NULL能用的地方.

 

警告: NULL仍然被编译器支持并未被nullptr代替. 这主要是考虑向后兼容. 但在将来nullptr将在所有使用NULL的地方被使用, 而NULL将被作为向后兼容的方案.