tmp/tmpgsosc4kc/{from.md → to.md}
RENAMED
|
@@ -1,19 +1,18 @@
|
|
| 1 |
-
## Logical AND operator <a id="expr.log.and">[[expr.log.and]]</a>
|
| 2 |
|
| 3 |
``` bnf
|
| 4 |
logical-and-expression:
|
| 5 |
inclusive-or-expression
|
| 6 |
logical-and-expression '&&' inclusive-or-expression
|
| 7 |
```
|
| 8 |
|
| 9 |
The `&&` operator groups left-to-right. The operands are both
|
| 10 |
-
contextually converted to `bool`
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
|
| 15 |
-
The result is a `bool`. If the second expression is evaluated,
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
with the second expression.
|
| 19 |
|
|
|
|
| 1 |
+
### Logical AND operator <a id="expr.log.and">[[expr.log.and]]</a>
|
| 2 |
|
| 3 |
``` bnf
|
| 4 |
logical-and-expression:
|
| 5 |
inclusive-or-expression
|
| 6 |
logical-and-expression '&&' inclusive-or-expression
|
| 7 |
```
|
| 8 |
|
| 9 |
The `&&` operator groups left-to-right. The operands are both
|
| 10 |
+
contextually converted to `bool` [[conv]]. The result is `true` if both
|
| 11 |
+
operands are `true` and `false` otherwise. Unlike `&`, `&&` guarantees
|
| 12 |
+
left-to-right evaluation: the second operand is not evaluated if the
|
| 13 |
+
first operand is `false`.
|
| 14 |
|
| 15 |
+
The result is a `bool`. If the second expression is evaluated, the first
|
| 16 |
+
expression is sequenced before the second expression
|
| 17 |
+
[[intro.execution]].
|
|
|
|
| 18 |
|