Noch besser ... das Result, wird bei "Managed Types" und für Typen größer der CPU-RegisterGröße (Record und Static-Array) intern als VAR-Parameter behandelt,
womit das Result nicht innerhalb der Funktion initialisiert wird, sondern beim Aufrufer, was in einer Schleife echt wunderschöne Ergebnisse liefert.
Delphi-Quellcode:
funtion Test: string
begin
Result := Result + 'a';
end;
var
S: string;
begin
for var i := 1 to 3 do begin
S := Test;
ShowMessage(S);
end;
end;
Besonders praktisch, da es für Result (wenn managed) keine Meldung gibt, dass Dieses nicht initialisiert sei (was ja prinzipiell "eigentlich" auch richtig ist, aber logisch nicht wirklich verständlich)
Ein Therapeut entspricht 1024 Gigapeut.