Forum: Algorithmen, Datenstrukturen und Klassendesign
by bra,
9. Jun 2016
Nein, eben nicht. Das macht es einfacher, weil man Records z.B. als Parameter oder Rückgabewert von Funktionen verwenden kann, ohne sich Gedanken machen zu müssen, wo man die wieder freigeben muss. Allerdings wird der Speicherverbrauch bei exzessiven Gebrauch dann höher sein, weil bei jedem Parameter der übergeben wird, eine Kopie des Records erstellt wird.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bra,
23. Mai 2016
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Structured_Types#Records_.28advanced.29
Records are value types, so they are copied on assignment, passed by value, and allocated on the stack unless they are declared globally or explicitly allocated using the New and Dispose function. Classes are reference types, so they are not copied on assignment, they are passed by reference, and they...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bra,
23. Mai 2016
Records werden auf dem Stack erstellt, Klassen auf dem Heap. Daher auch der Unterschied mit Erstellen/Freigeben.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bra,
23. Mai 2016
Irgendwie klingt der Satz für mich falsch.
Records: müssen nicht erzeugt und freigegeben werden
Klassen: müssen erzeugt und wieder freigegeben werden (Create...Free)