Anders als z.B. in PASCAL kann eine Schleife in C++
frühzeitig beendet
werden, etwa durch return (oder einen Sprung mit goto).
C++ stellt zwei spezielle Möglichkeiten dazu zur Verfügung:
- break beendet die Schleife komplett. Der Programmfluß
setzt hinter dem Schleifenrumpf wieder ein.
- continue beendet nur den aktuellen Schleifendurchlauf. Bei
while und do-while wird als nächstes die
Schleifenbedingung getestet. Bei for wird zuerst die
Laufvariablen-Manipulation durchgeführt und dann die Bedingung getestet.
-
-
|
Zu beachten ist, daß break und continue sich immer auf
die kleinste passende Struktureinheit beziehen, die sie umgibt -- das sind
Schleifen, aber bei break auch switch-Blöcke. Man kann
also nur aus der innersten von mehreren verschachtelten Schleifen
herausspringen, bzw. aus einem switch-Block und nicht aus der ihn
möglicherweise umgebenden Schleife.
|
|
Man sollte mit break und continue ähnlich vorsichtig
umgehen wie mit goto, da sie die Programmstruktur leicht verschleiern
können.