2016-09-20 6 views
1

Если я инициализирую переменную со значением nullptr. , а затем я получаю в него функцию WinAPI, которая может возвращать значение NULL при сбое, мне нужно использовать NULL или я могу по-прежнему проверять значение nullptr при проверке того, что когда-либо выполнялась функция или нет?nullptr начальное значение и WinAPI NULL return

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

ответ

2

По cppreference:

Ключевое слово nullptr обозначает указатель буквального. Это prvalue типа std::nullptr_t. Существуют неявные преобразования от nullptr к нулевому значению указателя любого типа указателя и любому указателю на тип члена. Аналогичные преобразования существуют для любой константы нулевого указателя, которая включает значения типа std::nullptr_t, а также макрос NULL.

Так nullptr и NULL будет вести себя так же в контексте проверки, является ли нулевой указатель.

Но вы также можете просто полагаться на указатель-to bool преобразования:

if (!windowfunctionresult) 
{ 
    return false; 
} 
Смежные вопросы