Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Ja, ja, mach mal. In der Praxis beweist übrigens (meistens) niemand die Korrektheit seiner Schleifen.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
{ int i = 0; while (i < 100) { i++; std::cout << i; } } |
Mh anscheinend hat es ja doch Vorteile, den Zähler im Aktionsteil zu inkrementieren zu lassen, statt im Codeblock :o
Dann werde ich es wohl auch im Aktionsteil weiter belassen.
Zudem, ob man es nun zugeben will oder nicht, vergisst man gern das Inkrement/Dekrement, wenn man es nicht oben rein schreibt. Beim Öffnen der Schleife denkt man noch: "Ah joar, den Counter zähle ich weiter unten durch". Nach dem ersten Programmlauf fasst man sich dann an die Stirn, weil man's eben doch wieder vergessen hat, nachdem man die ersten 5 Zeilen innerhalb der Schleife geschrieben hat.
Zudem erleichtert eine For-Schleife mit vorhandenem Inkrement/Dekrement die Wartbarkeit deutlich. Man findet nach 3 Monaten nämlich noch immer sofort raus, wie oft die Schleife wohl vermutlich laufen wird, was nicht sofort ersichtlich wäre, würde man das irgendwo im restlichen Kram der Schleife erledigen. Gerade Anfänger tendieren ja dazu so eine Schleife mal eben länger als 10 Zeilen werden zu lassen und da müsste man schon ziemlich lange suchen, bis man es hat. So will kein Mensch auf Dauer debuggen, das strengt tierisch an.
Wenn man den Zähler im Schleifenrumpf erhöht/verringert, funktioniert continue nicht so, wie man es wollen würde.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »CodingCat« (24.02.2013, 11:43)
Werbeanzeige