for (int i = 1; i <= n; i++)
// Version II: kürzere Version
const n = 10;
for (int i = 1, int sum = 0; i <= n; sum +=
i++);
// Version I: normale Version
const n = 10;
int sum = 0;
sum = sum + i;
Mit beiden Schleifen wird die Summe der Zahlen 1 bis n gebildet. In der
Version II wird für die Initialisierung der beiden Variablen i
und
sum
ein Kommaausdruck verwendet. Im dritten Ausdruck ist die eigentliche
Schleifenanweisung bereits enthalten, das Hochzählen der Laufvariablen
i
geschieht dabei sozusagen als Seiteneffekt. Für die einen ist dies
das Schöne an C/C++, für die anderen ein Grund, C/C++ grundwegs
abzulehnen.
Nun mag die Summenbildung wie im Beispiel ja noch einigermaßen schnell nachvollziehbar sein; bei komplexeren Anweisungen sollte man derartiges Vorgehen jedoch gründlichst auskommentieren (wenn man es denn unbedingt auf diese Weise implementieren will). Der Lesbarkeit des Quellcodes dienen derartige Konstrukte sicher nicht!