Как работает оператор запятой

Оператор запятой имеет самый низкий приоритет cpp среди всех операторов C/C++. Поэтому c++ он всегда последним привязывается comma-operator к выражению, что означает cxx следующее:

a = b, c;

эквивалентно:

(a = b), c;

Еще comma-operator один интересный факт заключается cxx в том, что оператор запятой cxx вводит sequence point. Это означает, что cxx выражение:

a+b, c(), d

гарантирует, что cpp три его подвыражения (a+b, c() и c++ d) вычисляются по порядку. Это cpp важно, если они имеют побочные cxx эффекты. Обычно компиляторам cxx разрешается вычислять подвыражения c++ в любом порядке, который cpp они сочтут нужным; например, в comma-operator вызове функции:

someFunc(arg1, arg2, arg3)

аргументы comma-operator могут оцениваться в произвольном cpp порядке. Обратите внимание, что cpp запятые в вызове функции cpp являются операторами not; они cpp разделители.

c++

comma-operator

2022-10-12T20:50:50+00:00