C ++风格:在C ++中使用c函数时,应该检查NULL还是nullptr?

时间:2018-11-29 05:55:14

标签: c++

在C ++程序中,如果我想使用会因任何错误而返回NULL的c函数,是否应该检查nullptrNULL

int * ptr = someCfunction();
if (ptr == nullptr)
    return false;

或:

int * ptr = someCfunction();
if (ptr == NULL)
    return false;

哪种风格更好?

1 个答案:

答案 0 :(得分:10)

nullptr的cppreference中,您可以看到从nullptrNULL的隐式转换。因此,您可以执行任何一种操作,但(作为一种好的做法)最好从C ++ 11起使用nullptr

  

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