October 10, 2014 1 Comment
The conditional logical operators (&&, ||) can short-circuit evaluation, based on the value of the left side of the expression.
- For &&, evaluation short-circuits if left-side is false (result is false)
- For ||, evaluation short-circuits if left-side is true (result is true)
You can also think of the conditional logical operators as being equivalent to the ternary conditional operator.
bool leftSide = true; bool rightSide = false; // Short-circuits (right side not evaluated) bool bResult = leftSide || rightSide; // || Equivalent to bResult = leftSide ? true : rightSide; // Short-circuits if left side is false bResult = leftSide && rightSide; // && Equivalent to bResult = leftSide ? rightSide : false;