они растут очень быстро. d

етствует ли стандарт ANSIмандат логические операторы, которые должны быть замкнуты, в C или C ++?

Я запутался, вспомнив книгу K & R, в которой говорилось, что ваш код не должен зависеть от короткого замыкания этих операций, потому что они могут не зависеть. Может ли кто-нибудь указать, где в стандарте говорится, что логические операции всегда закорочены? Я в основном заинтересован в C ++, и ответ на C был бы отличным.

Я также помню, как читал (не могу вспомнить, где), что порядок вычисления не является строго определенным, поэтому ваш код не должен зависеть или предполагать, что функции в выражении будут выполняться в определенном порядке: к концу оператора все ссылочные функции будет вызван, но у компилятора есть свобода выбора наиболее эффективного порядка.

Указывает ли стандарт порядок оценки этого выражения?

if( functionA() && functionB() && functionC() ) cout<<"Hello world";

Ответы на вопрос(7)

Ваш ответ на вопрос