Also wird in delphi von natur aus alles bis auf den Zeiger im heap gespeichert?
Wenn du Klassen-Instanzen in Delphi damit meinst, ja.
Wenn du das mit dem von C++ vergleichen möchtest, dann liegst du völlig falsch, denn in Delphi entspricht das den Records.
Delphi-Quellcode:
type
THersteller = string[99];
PAuto = ^TAuto;
TAuto = record
Hersteller : THersteller;
constructor Create( Hersteller : THersteller );
end;
{ TAuto }
constructor TAuto.Create( Hersteller : THersteller );
begin
Self.Hersteller := Hersteller;
end;
procedure Test2;
var
myCar : TAuto;
begin
myCar := TAuto.Create( 'BMW' );
Writeln( SizeOf( myCar ) ); // -> 100
end;
procedure Test3;
var
myCar : PAuto;
begin
myCar := New( PAuto );
try
myCar^ := TAuto.Create( 'BMW' );
Writeln( SizeOf( myCar ) ); // -> 4
finally
Dispose( myCar );
end;
end;
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)