nullptr初始值和WinAPI NULL返回

时间:2016-09-20 09:56:00

标签: c++ c++11 null-pointer nullptr

如果我初始化一个值为nullptr的变量。 然后我获取一个WinAPI函数,它可能在失败时返回值NULL,我是否必须使用NULL或者在检查函数失败时是否仍然可以检查nullptr?

if ( windowfunctionresult == nullptr )
{
  return false;
}

1 个答案:

答案 0 :(得分:2)

根据cppreference

  

关键字nullptr表示指针文字。它是std::nullptr_t类型的prvalue。存在从nullptr到任何指针类型的空指针值以及指向成员类型的任何指针的隐式转换。对于任何空指针常量,存在类似的转换,其中包括类型std::nullptr_t的值以及宏NULL

因此nullptrNULL在检查指针是否为空的上下文中的行为相同。

但你也可以简单地依靠指向 - bool转换:

if ( !windowfunctionresult )
{
  return false;
}