Синтаксис:
statement,
statement,
....
statement
В основном это заявления, разделенные запятыми. Обратите внимание, что в отличие от полуколона C/C++, запятая представляет собой разделитель, расположенный между.Заявления. Это похоже на полуколонный сепаратор Паскаля, а не на полуколонный терминатор C/C++. Например:
statement,
statement,
statement,
Это ошибка. Последнее утверждение не должно иметь запятой. Блоковые заявления могут быть сгруппированы с использованием скобок. Опять же, последнее заявление в группе не должно иметь запятой.
statement,
statement,
(
statement,
statement
),
statement
За пределами квадратных скобок блокировочные заявления должны быть сгруппированы. Например:
std::for_each(c.begin(), c.end(),
(
do_this(arg1),
do_that(arg1)
)
);
Обертывание цепи оператора запятой вокруг пары скобок блокирует интерпретацию в качестве разделителя аргументов. Причина исключения для оператора квадратных скобок заключается в том, что оператор всегда принимает ровно один аргумент, поэтому он «преобразует» любую попытку нескольких аргументов с помощью цепи оператора запятой (и выплевывает ошибку для нулевых аргументов).