Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Оператор запятой:
Позволяет группировать два оператора, когда ожидается один.
Синтаксис
expression , expression
Замечания
Оператор-запятая имеет ассоциативность слева направо. Два выражения, разделенные запятой, вычисляются в направлении слева направо. Левый операнд вычисляется всегда и перед вычислением правого операнда учитываются все побочные эффекты.
В некоторых контекстах, например в списках аргументов функций, в качестве разделителей можно использовать запятые. Не следует путать использование запятой в качестве разделителя с ее использованием в качестве оператора; эти два варианта использования совершенно различны.
Рассмотрим выражение e1, e2. Тип и значение выражения — это тип и значение e2; результат оценки e1 удаляется. Если правый операнд — L-значение, результатом будет L-значение.
В тех случаях, когда в качестве разделителя обычно используется запятая (например, в фактических аргументах для функций или составных инициализаторов), оператор-запятую и его операнды следует заключать в скобки. Например:
func_one( x, y + 2, z );
func_two( (x--, y + 2), z );
В приведенном выше вызове функции func_one передаются три аргумента, разделенные запятыми: x, y + 2 и z. В вызове функции func_two скобки заставляют компилятор интерпретировать первую запятую в качестве оператора последовательного вычисления. В этом вызове функции в функцию func_two передаются два аргумента. Первым аргументом является результат операции последовательного вычисления (x--, y + 2), который имеет значение и тип выражения y + 2; второй аргумент — z.
Пример
// cpp_comma_operator.cpp
#include <stdio.h>
int main () {
int i = 10, b = 20, c= 30;
i = b, c;
printf("%i\n", i);
i = (b, c);
printf("%i\n", i);
}
20
30
См. также
Выражения с бинарными операторами
Операторы C++, приоритет и ассоциативность
Оператор последовательного вычисления