C++ В каком случае данное выражение истинно?

программирование С++

Например,

if(var = 78)
...

Ведь компилятор не находит ошибку, значит, выражение имеет смысл.
Если знаете, то подскажите, в каком случае выполняется данное условие?
Ответы:
Оператор = в C++ возвращает свой левый опперанд после выполнения присваивания.
Если надо просто сравнить, то лучше использовать ==, а не =.
В данном случае переменной var присваивается значение 78 и она передается как аргумент в if.
Т.к. true считается любое не нулевое значение, то это выражение истинно.
всегда выполняется, ибо присваивание возвращает тру, развичто ворнинг может выдать, такие выражения не есть ошибками иногда их используют, не в "таком" виде конечно.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.