_>Добрый день.
_>Столкнулся вот с чем:
_>_>bool b = false;
_>int i = 0;
_>b &= (1 == i++);
_>
_>и
_>_>bool b = false;
_>int i = 0;
_>b = false && (1 == i++);
_>
_>Почему в первом случае правый операнд высчитывается в любом случае?
Потому что приведенный код — не эквивалентен. В первом случае побитовое and, а во втром — логическое.
_>Это поведение компилятора(VC) или как?
Это у вас недопонимание базовых конструкций языка
...