8 Expressions [expr]

8.15 Logical OR operator [expr.log.or]

logical-or-expression:
	logical-and-expression
	logical-or-expression || logical-and-expression

The || operator groups left-to-right. The operands are both contextually converted to bool. It returns 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 side effect associated with the first expression is sequenced before every value computation and side effect associated with the second expression.