Zitat von
Phoenix:
Die Klasse braucht halt mehr Platz..
Der Grössenunterschied beträgt 4 Bytes pro Objekt.
Dazu kommen bei einem nochmal 4 Bytes für den Objektzeiger.
Wenn man Records mit New auf dem Heap erzeugt, dann sind auch beim Record die 4 Bytes für den Zeiger fällig.
Delphi-Quellcode:
// benötigt 4 Bytes pro Instanz
TTestRecord = record
x : integer;
end;
// benötigt 8 Bytes pro Instanz
// + EINMALIG pro Klasse die VTABLE mit ~ 80 Bytes
TTestKlasse = class(TObject)
public
x : integer;
end;