Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Всегда ли в 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, но прочел тут кое-что и засомневался.
  • Вопрос задан
  • 157 просмотров
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Гарантируется. Первый вариант используется в большинстве случаев.
Ответ написан
Ответы на вопрос 1
@vanyamba-electronics
В Mac OS X nullptr != NULL, так что
void *p = nullptr;
if (!p) {
   throw "Не вызовется";
}
Ответ написан
Ваш ответ на вопрос

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

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