В соответствии с эта таблица приоритетов, оператор запятой левоассоциативен. То есть, a, b, c
анализируется как (a, b), c
, Это необходимость? не было бы a, (b, c)
есть точно такое же поведение?
С перегрузом operator,
существует, нет, это не то же самое поведение. a, (b, c)
может вызвать различные перегрузки, чем (a, b), c
,
Оператор запятой имеет ассоциативность слева направо. Два выражения, разделенные запятой, оцениваются слева направо. Левый операнд всегда оценивается, и все побочные эффекты завершаются до того, как правый операнд будет оценен.
Запятые могут использоваться в качестве разделителей в некоторых контекстах, таких как списки аргументов функции. Не путайте использование запятой в качестве разделителя с ее использованием в качестве оператора; два использования совершенно разные.