8 Expressions [expr]

8.19 Comma operator [expr.comma]

Группа операторов запятой группируется слева направо.

expression:
	assignment-expression
	expression , assignment-expression

Пара выражений, разделенных запятой, оценивается слева направо; левое выражение - это discarded-value expression. Каждое вычисление значения и побочный эффект, связанный с левым выражением, упорядочивается перед каждым вычислением значения и побочным эффектом, связанным с правым выражением. Тип и значение результата - это тип и значение правого операнда; результат имеет ту же категорию значений, что и его правый операнд, и является битовым полем, если его правый операнд является битовым полем. Если правый операнд - временное выражение ([class.temporary]), результатом будет временное выражение.

В контекстах, где запятой придается особое значение, [ Example: в списках аргументов функций ([expr.call]) и списках инициализаторов ([dcl.init]) ] оператор запятой, как описано в разделе, может появляться только в круглых скобках. [ end example [expr] Example:

f(a, (t=3, t+2), c);

имеет три аргумента, второй из которых имеет значение 5. ]end example