Dieser Artikel behandelt einen weiteren Exoten der C und C++ Sprache, den Komma-operator.
Er wird dort verwendet, wo man mehrere Anweisungen in einen Ausdruck verpacken will. Das kann zum Beispiel als Teil des bedingten Operators oder in einer for-Schleife verwendet werden.
<anweisung> , <anweisung> , …
Alle <anweisung>en bis auf die letzte werden nacheinander ausgeführt.
Alle anweisungen außer der Letzten werden als „void“- Anweisung ausgeführt, der Rückgabetyp und der Rückgabewert der letzten Anweisung wird als Rückgabetyp und der Rückgabewert des Operators verwendet.
Am besten ist der Komma-operator mit einigen Beispielen zu erklären:
int a = (2, 3, 4, 5); printf ("a ist jetzt %d\n", a); /* a ist jetzt 5 */
Ein etwas praktikableres Beispiel ist die for-Schleife:
for(i = 0, j = 10; i < 10; i++, j--) { ... rest of loop ... }
Wenn der Operator dort verwendet wird wo normalerweise eine Komma-getrennte Liste verwendet wird, muss er in Klammern gesetzt werden. Beispiel:
f(a, (t=3, t+2), c)