如果我初始化一个值为nullptr的变量。 然后我获取一个WinAPI函数,它可能在失败时返回值NULL,我是否必须使用NULL或者在检查函数失败时是否仍然可以检查nullptr?
if ( windowfunctionresult == nullptr )
{
return false;
}
答案 0 :(得分:2)
根据cppreference:
关键字
nullptr
表示指针文字。它是std::nullptr_t
类型的prvalue。存在从nullptr
到任何指针类型的空指针值以及指向成员类型的任何指针的隐式转换。对于任何空指针常量,存在类似的转换,其中包括类型std::nullptr_t
的值以及宏NULL
。
因此nullptr
和NULL
在检查指针是否为空的上下文中的行为相同。
但你也可以简单地依靠指向 - bool
转换:
if ( !windowfunctionresult )
{
return false;
}