Forum: Programmieren allgemein
by shmia,
22. Okt 2009
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.
// 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...
Forum: Programmieren allgemein
by shmia,
22. Okt 2009
Entscheidungshilfe:
ist die Datenmenge pro Item eher gering, also z.B. ein Wertepaar oder ein Punkt im Raum dann ist ein Record sinnvoll:
// Beispiele für einfache Records
TComplex = record
rvalue, ivalue : double;
end;
T3DPoint = record
x: integer;
y: integer;
z: integer;