The &&
and ||
operators are called the conditional logical operators. They are at times also called the "short-circuiting" logical operators.
The &&
and ||
operators are conditional versions of the &
and |
operators:
x
&&
y
corresponds to the operation x
&
y
, except that y
is evaluated only if x
is true
.x
||
y
corresponds to the operation x
|
y
, except that y
is evaluated only if x
is false
.An operation of the form x
&&
y
or x
||
y
is processed by applying overload resolution (§7.2.4) as if the operation was written x
&
y
or x
|
y
. Then,
It is not possible to directly overload the conditional logical operators. However, because the conditional logical operators are evaluated in terms of the regular logical operators, overloads of the regular logical operators are, with certain restrictions, also considered overloads of the conditional logical operators. This is described further in §7.11.2.