Этот вопрос закрыт для ответов, так как повторяет вопрос Всегда ли в C++ false == 0, true == 1?
EgoRusMarch
@EgoRusMarch
C++ Developer

Гарантируется ли, что нулевой указатель всегда будет равен нулю?

Всегда ли будет работать
if (!ptr) или if (ptr)?
Или лучше писать так
if (ptr == nullptr) или if (ptr != nullptr)?

Я считал, что в C/C++ всегда 0 == '\0' == NULL/nullptr, но прочел тут кое-что и засомневался.
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Гарантируется. Первый вариант используется в большинстве случаев.
Ответ написан
Ответы на вопрос 1
@vanyamba-electronics
В Mac OS X nullptr != NULL, так что
void *p = nullptr;
if (!p) {
   throw "Не вызовется";
}
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы