Экономим нервы и такты
Вот все говорят: женская логика, женская логика... Мол, неописуемое и непонятное явление. А если проявить сообразительность? Да ещё не простую, а нашу, айтишную? Поясню на примере.
Давеча договариваюсь по аське со знакомой о встрече.
— Как сделаем: я тебе позвоню или буду ждать от тебя эсемеску?
— Да, так сделаем.
Казалось бы, вот он, яркий пример этой самой женской логики. Вот какой вариант она имела ввиду? Я спросил — оказалось, тот, в котором я ей позвоню.
Теперь берём учебник по С++. В разделе «Логические операции» читаем:
Логические операции сокращённого вычисления:
— сокращённая конъюнкция (conditional-AND) &&;
— сокращённая дизъюнкция (conditional-OR) ||.
Правый операнд сокращённых операций вычисляется только в том случае, если от него зависит результат операции: если левый операнд конъюнкции имеет значение true или левый операнд дизъюнкции имеет значение false.
Рассуждаем. В описанном выше примере имеем операцию дизъюнкции, которая должна обязательно вернуть true (так как один из предложенных вариантов должен быть выбран). Ответ знакомой — это передаваемое значение операнда. Читаются выражения слева направо — значит, значение присваивается левому операнду. А если левый операнд дизъюнкции равен true, правый уже не рассматривается, что придаёт ответу однозначность.
Логично? Логично. Ничуть не сложнее, чем в компьютере. Так-то! Читайте мануалы, товарищи.