Начальное значение nullptr и возврат WinAPI NULL

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

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

person Mikko-Pentti Einari Eronen    schedule 20.09.2016    source источник


Ответы (1)


Согласно cppreference:

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

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

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

if ( !windowfunctionresult )
{
  return false;
}
person Quentin    schedule 20.09.2016