Can you explain please
7-7 && true is false. Since the left side is false the statement can not be true. Therefore the right expression will not be evaluated. Hence the statement has not side effect and the values remain unchanged.
To cite
The && operator groups left-to-right.
The operands are both contextually converted to bool.
The result is true if both operands are true and falseotherwise.
Unlike &, && guarantees left-to-right evaluation: the second operand is not evaluated if the first operand is false.
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
[expr.log.and]