Flo*_*ows 1 c++ performance pointers
testinf指针无效的两种方式之间最有效的是:if(pointer==NULL)或if(!pointer).
MyObject* p;
[...]
// Solution 1
if ( p )
{ // Do something
}
// Solution 2
if ( p!=NULL )
{ // Do something
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我更喜欢if (ptr)因为:
NULL关键字.nullptr正如Jesper Juhl所提到的那样,它必须在C++ 11或更高版本上.它们与C++类兼容,例如auto_ptr,它们是作为指针的对象,它提供转换为bool以实现这个成语.对于这些对象,与NULL的显式比较必须调用转换为指针,该指针可能具有其他语义副作用,或者比bool转换所暗示的简单存在检查更昂贵.
| 归档时间: |
|
| 查看次数: |
820 次 |
| 最近记录: |