Всегда ли в C++ false == 0, true == 1?

Всегда ли такой код будет правильно работать?
int A[2] = { 3, 5 }, y, z;
bool x = false;
y = A[x]; // y==3
z = A[!x]; // z==5

Бывают ли реализации, где не верно, что false == 0, true == 1?
  • Вопрос задан
  • 9001 просмотр
Решения вопроса 1
@MarkusD Куратор тега C++
все время мелю чепуху :)
В стандарте по этому поводу все однозначно.
eelis.net/c++draft/conv.prom#6
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Jony1337
Всегда в C++ false == 0, true == 1
Ответ написан
Комментировать
false == 0, true != 0
Ответ написан
Комментировать
jamakasi666
@jamakasi666
Просто IT'шник.
В С++ существует миллиард и 1 способ как отстрелить себе ногу или обеспечить головной боли на пару недель маленькой строчкой причем на разных компиляторах это число и холоднокровные трюки разнятся. К примеру классический
#define false true

Во, откопал древний веселый прикол .
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы