Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: VAR oder nicht VAR Überlegungen
26. Dez 2014, 16:15
Man muss sich immer vor Augen halten, was denn da genau übergeben wird, und das ist bei einem Record und einer Klasse eben etwas völlig anderes.
Der Prozeduraufruf arbeitet bei beiden gleich:
Bei const Value : Type
ist der Wert nicht änderbar, bei Value : Type
ist der Wert änderbar, geht aber nicht zurück und bei var Value : Type
ist der Wert änderbar und wird zurückgegeben.
Aber bei einem Record ist der Wert eben der gesamte Inhalt des Records und bei einer Klasse ist der Wert die Referenz auf einen Speicherbereich.
Hier kann es leicht passieren, dass man Birnen und Äpfel verwechselt oder versucht miteinander zu vergleichen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
|