Группа операторов запятой группируется слева направо.
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