logical-or-expression || logical-and-expression
The || operator groups left-to-right. The operands are both
contextually converted to bool.
true if either of its operands is true, and
false otherwise. Unlike |, || guarantees
left-to-right evaluation; moreover, the second operand is not evaluated
if the first operand evaluates to true.
The result is a bool.
If the second expression is evaluated, every
value computation and
associated with the first expression is sequenced before every value computation
and side effect associated with the second expression.