A pair of expressions separated by a comma is evaluated left-to-right;
the left expression is
a discarded-value expression.
Every
value computation and side effect
associated with the left expression is sequenced before every value
computation and side effect associated with the right expression.
The type and value of the
result are the type and value of the right operand; the result is of the same
value category as its right operand, and is a bit-field if its
right operand is a bit-field.
If the right operand is a temporary expression ([class.temporary]),
the result is a temporary expression.