Bjarne Stroustrup (C ++ - Ersteller) hat einmal gesagt, dass er "do / while" -Schleifen vermeidet und den Code lieber als "while" -Schleife schreibt. [Siehe Zitat unten.]
Seit ich das gehört habe, habe ich festgestellt, dass dies wahr ist. Was sind deine Gedanken? Gibt es ein Beispiel, in dem ein "do / while" viel sauberer und leichter zu verstehen ist, als wenn Sie stattdessen ein "while" verwendet haben?
Antwort auf einige der Antworten: Ja, ich verstehe den technischen Unterschied zwischen "do / while" und "while". Dies ist eine tiefere Frage zur Lesbarkeit und Strukturierung von Code mit Schleifen.
Lassen Sie mich einen anderen Weg fragen: Angenommen, Ihnen wurde die Verwendung von "do / while" verboten. Gibt es ein realistisches Beispiel, bei dem Sie keine andere Wahl haben, als unreinen Code mit "while" zu schreiben?
Aus "The C ++ Programming Language", 6.3.3:
Nach meiner Erfahrung ist die do-Anweisung eine Quelle von Fehlern und Verwirrung. Der Grund ist, dass sein Körper immer einmal ausgeführt wird, bevor die Bedingung bewertet wird. Damit der Körper jedoch richtig funktioniert, muss etwas, das dem Zustand sehr ähnlich ist, auch beim ersten Mal Bestand haben. Öfter als ich vermutet hätte, habe ich festgestellt, dass diese Bedingung weder beim ersten Schreiben und Testen des Programms noch später, nachdem der vorhergehende Code geändert wurde, nicht wie erwartet gilt. Ich bevorzuge auch die Bedingung "vorne, wo ich es sehen kann". Infolgedessen neige ich dazu, Do-Statements zu vermeiden. -Bjarne