А что, в С++ существует вычисление
логических выражений по длинной схеме? Стандарт - как бы намекает, что нет:
Цитата(C++ Standard: 5.14.1)
Unlike &, && guarantees left-to-right evaluation: the second operand is not evaluated if the first operand is false.
Цитата(C++ Standard: 5.15.1)
Unlike |, || guarantees left-to-right evaluation; moreover, the second operand is not evaluated if the first operand evaluates to true.
, то есть, как только результат становится известен - вычисление прекращается. Это "короткая схема"...