?
Vom generierten Maschinencode dürften sich die unterschiedlichen Varianten nicht nennenswert unterscheiden, vorausgesetzt sind sind auch wirklich äquivalent. Es geht nur darum, dir Werkzeuge zur Hand zu geben, um deinen Code so zu schreiben, wie er am besten verständlich ist.
Dominik1993 schrieb:
: wenn ich voraus bekannt ist, wie oft die Anweisung zu wiederholen ist, aber was meinen die damit konkret?
Nun, wenn du einen Block genau N mal ausführen willst, schreibst du bspw.:
for (int i = 0; i < N; i++) { dein Block; }
Sofern du im Schleifenkörper jetzt weder den Schleifenzähler manipulierst, noch sonstige den Kontrollfluss verändernde Sprachmittel (break z.B.) verwendest, kannst du auf einer Zeile sehen, wie oft deine Schleife ausgeführt wird. Bei while kannst du meist davon ausgehen, dass es sich nicht um eine einfache Zählschleife handelt. Du musst also Ausschau danach halten, welche Anweisungen deines Blocks zum Erfüllen der Abbruchbedingung führen.
For wird auch oft verwendet, wenn ein Block Code für alle Elemente eines Containers ausgeführt werden soll. Hier gibt es neuerdings dann auch eine vereinfachte Syntax für, die range-based for-Schleife.
Letztendlich lässt sich aber praktisch jede Form der Schleife auch in einer jeweils anderen Form ausdrücken. Das ganze dient hauptsächlich dir zur Strukturierung. Benutze also die Form, die für dein Problem am logischsten erscheint.