Schleifen: for-Schleife (8/9)

Als kleinen Einschub wollen wir mit dem folgenden Beispiel verdeutlichen, daß man auch mit der for-Schleife das Vorurteil bestätigen kann, mit C++ (bzw. C) lasse sich ein zwar "optimierter", aber zugleich auch unleserlicher Code erstellen:

  // Version  I: normale Version


      const n = 10;
      int sum = 0;

      for (int i = 1; i <= n; i++)
          sum = sum + i;

  // Version II: kürzere Version

      const n = 10;

      for (int i = 1, int sum = 0; i <= n; 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!