Schleifen

Im englischen als Loops bekannt, haben Schleifen die Aufgabe einen Codeblock solange zu wiederholen, bis die Bedingung zur Beendigung der Schleife erfüllt ist. Wird diese Bedingung nicht erfüllt, so hat man eine Endlosschleife.
C++ kennt 3 verschiedene Schleifen: for, while und do...while:
for(int i =0; i < 10; ++i)//(1)
{
    std::cout << i << std::endl;
}
int i=0;
while(i < 10)//(2)
{
    std::cout << i << std::endl;
    ++i;
}
i=0;
do//(3)
{
    std::cout << i << std::endl;
    ++i;
}while (i < 10);


Alle 3 Schleifen führen hier das selbe aus, in dem sie die i 10 mal über std::cout ausgeben, dennoch gibt es in der Syntax gewisse Unterschiede:

  1. die for Schleife besteht aus 3 Teilen in ihrem Schleifenkopf:
    1. Dem Initialisierungsbereich, in dem hier die Zähler Variable i deklariert und mit 0 initialisiert wird. Dieser Block wird vor dem Schleifenanfang ausgeführt. Hier deklarierte Variablen sind nur innerhalb der for Schleife bekannt.
    2. Der Schleifenbedingung, hier i ist kleiner 10. Vor jedem Schleifendurchlauf wird diese Bedingung geprüft.
    3. Dies ist der Ausführungsblock, welcher vor jedem Schleifendurchlauf einmal durchgeführt wird, im Beispiel wird i  hier um eins erhöht.
  2. Die while Schleife fängt mit dem Schlüsselwort while an, und enthält die Schleifenbedingung dahinter in runden Klammern. Danach folgt der dazu gehörige Codeblock. Das inkrementieren des Zählers muss hier im Schleifenblock selber geschehen.
  3. Die do...while Schleife hat ihre Logikbedingung am Ende des Codeblocks, dieser ist zwischen den Schlüsselwörtern do und while eingekapselt. Wichtig ist das Semikolon nach der Bedingung der while Schleife.
  4. Die Schlüsselwörter continue und break müssen im Zusammenhang mit Schleifen noch erwähnt werden. continue bewirkt, dass der aktuelle Schleifendurchlauf abgebrochen wird, und mit dem nächsten wieder am Anfang des Codeblocks begonnen wird. Mit break kann man hingegen direkt aus der Schleife herausspringen. Beide Schlüsselwörter werden gerne mit einer if Bedingung kombiniert.