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
Das war die Antwort, die ich suchte.Sie existiert aus den selben Gründen, aus denen so ziemlich alle Konstrukte in Hochsprachen existieren: Abstraktion. Wenn du es lesbarer findest, den Schleifenzähler im Schleifenkörper zu inkrementieren, dann mach's eben einfach so...
Administrator
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Bei einer For schleife muss, sofern sie als zählschleife gelten soll vor Eintritt in den Block feststehen wie viele Schleifendurchläufe es gibt.
In c++ ist es zwar möglich die schleifenvariable zu verändern, in anderen Sprachen jedoch nicht. Würde man sie so wie du beschrieben hast implementieren würde sie ihr eigenes Konzept verletzen. Verändert man den Zähler im Block so ist es ein Semantikfehler.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »H5::« (21.02.2013, 22:45)
Die For schleife mag auch als While implementiert sein. Aber ihre Semantik ist nicht äquivalent.
Ich bin mir nicht sicher, aber wäre dem Compiler die Schrittweite bekannt bietet es ihm auch mehr Optimierungsmöglichkeiten. (das ist aber nur eine Theorie von mir), was bei einer Veränderung im Block nur schwer möglich ist. Es kann auch Systeme geben wo der Zähler konstant ist im Block.
Werbeanzeige