Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#8

Re: Geeignete Variablenübergabe Const oder nicht Const ?

  Alt 26. Sep 2003, 12:41
Const hat die Bedeutung das der uebergebene Parameter in der Funktion nicht aendern kann.
Entsprechend ist eine Zuweisung in der Funkton auch nicht moeglich.
Dem Compiler erlaubt dies weitergehende Optimierungen.
Zusatzlich nutzt Delphi die read-only Eigenschaft um bei allen Parametern mit mehr als 4 Bytes
diesen mit call-by-reference zu uebergeben. Es wird also nur der Zeiger auf die Variable statt
der ganzen Variablen auf den Stack gelegt. Konsequenterwise ist jeder Zugriff in der Funktion
nun mit einer Dereferenzierung verbunden. Ueblicherweise kommt dabei doch ein Nettogewinn
an Geschwindigkeit heraus, besondrs wenn die Variable viele Bytes hat.
Das ist der gleiche Mechanismus wie bei var, aber da darf und will man auch schreibend zugreifen.
  Mit Zitat antworten Zitat