![]() |
AW: Der gute alte format Befehl
Nja, String, dynamische Arrays und Interfaces werden Initialisiert,
da hier Delphi die Speicherverwaltung übernimmt. Ohne Initialisierung würde Delphi ja nie wissen, ob es was freigeben muß. Beim String als Result, liegt dieses Problem darin behaftet, daß Delphi dieses intern in einen VAR-Parameter umwandelt.
Delphi-Quellcode:
sieht also eigentlich so aus
function Test(Param1: Integer): String;
Delphi-Quellcode:
.
procedure Test(Param1: Integer; var Result: String);
Der String selber wird also initialisiert, aber da eine interne lokale Variable an der aufrufenden Stelle genutzt wird, kommt es hier nun zu diesesm netten Phänomen. |
AW: Der gute alte format Befehl
Ohh gut das einmal bestätigt zu bekommen. Hab das letztens auch mal bemerkt.
Um auf der sicheren Seite zu sein, sollte man einfach alles initialisieren. Falls das sowieso automatisch gemacht wird, wird es codemäßig wahrscheinlich wegoptimiert. Von dem her kann man damit nichts falsch machen. MfG |
AW: Der gute alte format Befehl
Ich finde, man sollte sich nicht immer auf die compiler magic verlassen, bzw. sie herausfordern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz