nach dem Ende der Schleife noch auf die Schleifenvariable zugegriffen hatte
Da hat der Compiler aber auch das Recht jemanden für zu bestrafen.
Bei Schleifen ist es schön, dass es nun die Inlinevariablen gibt.
Da kann man danach garnicht erst auf soeine blöde Idee kommen.
Delphi-Quellcode:
for var i: Byte := 0 to 123 do
for var i := 0 to 123 do
for var S in SL do
...
Jo, auch zwinschen Platformen und sogar zwischen
Win32 und Win64 gibt es solche Problemchen.
Wo z.B. Result plötzlich "null" ist, wenn man es vergessen hat,
oder eben wo Variablen unterschiedliche "Initial"-Werte haben, jenachdem ob sie auf dem Stack oder in den Registern liegen, bzw. ob sie über die ganze Funktion oder nur den genutzen Zeitraum vorhanden sind usw.
Ebenso, wie bei gemangten Results, wäre es bei Schleifen gut, wenn nach dem Ende der Compiler "vergessen" würde, dass die Variable "eigentlich" schon initialisiert ist.
Dann gäbe es bei nachfolgenden Lesezugriffen auch eine entsprechende Warnung.