Sdílet prostřednictvím


Operátor čárka:,

Umožňuje seskupování dva příkazy, kde je očekáván jeden.

expression , expression

Poznámky

Operátor čárka má asociativitu zleva doprava.Dva výrazy oddělené čárkou se vyhodnocují zleva doprava.Levý operand vždy vyhodnocovány a všechny vedlejší účinky jsou dokončeny před pravý operand je vyhodnocena.

Čárky lze použít jako oddělovače v některých souvislostech, jako je například seznam argumentů funkce.Nezaměňujte použít čárku jako oddělovač jeho použití jako operátor; používá dvě jsou zcela odlišné.

Zvažte výraz

e1 , e2

Typ a hodnota výrazu jsou typ a hodnotu e2; výsledek hodnocení e1 je zahozen.Výsledkem je l hodnota, pokud pravý operand je l hodnota.

Pokud běžně používaný čárka jako oddělovač (například v skutečné argumenty funkce nebo agregační Inicializátory) operátor čárka a jeho operandy musí být uzavřeny v závorkách.Příklad:

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

Ve funkci volat func_one , předávají se tři argumenty, oddělené čárkami,: x, y + 2, a z.Ve funkci volat func_two, vynutí závorky kompilátor interpretovat první čárka jako operátor průběžné hodnocení.Toto volání funkce předá dva argumenty k func_two.První argument je výsledek operace sekvenční hodnocení (x--, y + 2), který má hodnotu a typ výrazu y + 2; druhý argument je z.

Příklad

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

Viz také

Referenční dokumentace

Výrazy s binární operátory

Operátory C++

Přednost a asociativita operátorů

Koncepty

Průběžné hodnocení operátor