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
Priorytet i łączność operatorów