Почему выходные данные этого кода не отображаются count==4
? operator--
имеет больший приоритет над operator!
, правильно?оператор!() И оператор -(), если условие
int main()
{
int found = 0, count = 5;
if (!found || --count == 0)
cout << "danger" << endl;
cout << "count=" << count<< endl;
}
[Оценка короткого замыкания] (https://en.wikipedia.org/wiki/Short-circuit_evaluation) –
В выражении есть другие операторы. Относительный приоритет '!' И '--' не имеет значения, так как' || 'выполняет оценку короткого замыкания (то есть'! Found' будет сначала оценена, а '--count == 0' будет только оценивается, если '! found' отличен от нуля, а это не так). – Peter
Я знаю о коротком замыкании, но не является ли префиксным декрементом первым приоритетом? я имею в виду, не следует ли сначала уменьшить количество до 4, а затем проверить состояние? –