Registriert seit: 23. Jan 2008
3.686 Beiträge
Delphi 2007 Enterprise
|
AW: Array of XY löschen
27. Aug 2012, 17:04
Delphi-Quellcode:
var
A,B ; array of byte
begin
Setlength(A,3);
B := A; // Kopiert den Pointer und nicht den Inhalt, oder?
end;
Ja. Sobald aber...
Delphi-Quellcode:
var
A,B ; array of byte
begin
Setlength(A,3);
B := A;
A[0] := $FF; // <---- ...das hier passiert...
end;
...wird der Inhalt "nachträglich" kopiert. (Stichwort: Copy-On-Write) Ab dann sind auch die Referenzen unterschiedlich.
Das aber nur am Rande.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
|