(no title)
mekazu | 6 years ago
!didIMakeAMistake() || CIsWrongHere();
> If you understand how short-circuit evaluation works, you can understand that this will result in the following: if (!didIMakeAMistake())
CIsWrongHere();
Can someone explain this? I’d have thought that was right without the !
segfaultbuserr|6 years ago
Function calls have the highest priority here, followed by logic NOT and logic OR.
!didIMakeAMistake() is evaluated first (or you can say didIMakeAMistake() is executed and evaluated first, then its result is inverted and checked), if it's true, evaluation is finished. If it's false, CIsWrongHere(); is evaluated.It is indeed equivalent to
Without the invertion.bowero|6 years ago
unknown|6 years ago
[deleted]