Udostępnij za pośrednictwem


Operator przecinek:,

Umożliwia grupowanie dwie instrukcje, których można oczekiwać.

expression , expression

Uwagi

Operator przecinek ma łączność od lewej do prawej.Dwóch wyrażeń oddzielonych przecinkami są wykonywane od lewej do prawej.Lewy operand jest zawsze oceniane, a przed prawy operand jest oceniane są zakończone wszystkie efekty uboczne.

Jako separatory w pewnych kontekstach, takich jak listy argumentów funkcji, można używać przecinków.Nie należy mylić użyj przecinka jako separatora z jego wykorzystaniem jako podmiot gospodarczy; dwóch zastosowań są zupełnie odmienne.

Należy wziąć pod uwagę wyrażenie

e1 , e2

Typ i wartość wyrażenia są rodzaj i wartość e2; wynik oceny e1 jest odrzucany.Wynik jest wartoocią l, jeśli prawy operand jest l wartość.

Jeżeli przecinek jest zwykle używany jako separator (na przykład w rzeczywistej argumenty do funkcji lub inicjatorów agregacji), operatorem przecinka i jego argumenty muszą być ujęte w nawiasy.Na przykład:

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

W funkcji WYWOŁAJ do func_one powyżej, przekazywane są trzy argumenty, oddzielonych przecinkami,: x, y + 2, i z.W funkcji WYWOŁAJ do func_two, nawiasy wymuszają kompilator interpretować pierwsze przecinek jako operator kolejne oceny.To wywołanie funkcji przekazuje dwa argumenty do func_two.Pierwszy argument jest wynik operacji kolejne oceny (x--, y + 2), który ma wartość i typ wyrażenia y + 2; drugi argument jest z.

Przykład

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

Zobacz też

Informacje

Wyrażenia z operatory dwuargumentowe

Operatory języka C++

Priorytet i łączność operatorów

Koncepcje

Operator kolejne oceny