Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
AW: Var, Out, Const Paramter - Stack Ansicht (Compiler-Umsetzung)
3. Jul 2012, 10:58
out wird genau gleich wie var behandelt;
nur dass der Compiler nicht merkert wenn die Variable vor Aufruf der Funktion uninitialisiert ist.
Bei const hängt es vom Datentyp ab, was der Compiler daraus macht.
Normalerweise wird er den Parameter wie eine Wertübergabe behandeln.
Bei Records und Mengen kann der Compiler sich aber auch für eine Übergabe per Zeiger entscheiden, da ja der Code in der Funktion keine Veränderungen am Parameter vornehmen darf.
Bei Daten, die einer Referenzzählung unterliegen (dynamische Arrays, Strings, Interfaces), hat die Übergabe per const den Vorteil dass die Übergabe schneller wird.
Andreas
|