Compartir a través de


Operador coma: ,

Permite el agrupar de dos instrucciones donde se esperaba uno.

expression , expression

Comentarios

El operador de comas tiene asociatividad de izquierda a derecha.Dos expresiones separadas por una coma es de izquierda a derecha evaluado.El operando izquierdo se evalúa siempre, y se completan todos los efectos secundarios antes de que se evalúe el operando derecho.

Las comas se pueden utilizar como separadores en algunos contextos, como las listas de argumentos de función.No confunda el uso de la coma como separador en su uso como operador; los dos usos son completamente diferentes.

considere la expresión

e1 , e2

el tipo y el valor de la expresión son el tipo y el valor de e2; el resultado de evaluar e1 se descarta.El resultado es un valor l si el operando derecho es un valor l.

Donde la coma se utiliza normalmente como separador (por ejemplo en argumentos a las funciones o los inicializadores de agregado), el operador de comas y sus operandos deben agregar entre paréntesis.Por ejemplo:

func_one( x, y + 2, z );
func_two( (x--, y + 2), z );

En la llamada de función a func_one anterior, tres argumentos, separados por comas, se pasan: x, y + 2, y z.En la llamada de función a func_two, los paréntesis fuerzan el compilador para interpretar la primera coma como operador de la secuencial-evaluación.esta llamada de función pasa dos argumentos a func_two.el primer argumento es el resultado de la operación (x--, y + 2)de la secuencial-evaluación, que tiene el valor y el tipo de la expresión y + 2; el segundo argumento es z.

Ejemplo

// 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);
}
  

Vea también

Referencia

Expresiones con operadores binarios

Operadores de C++

Operador Prioridad y Asociatividad

Conceptos

Operador de la Secuencial-Evaluación