Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
28. Mär 2012
Ich fass nochmal zusammen:
if @x <> nil then
Beep
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
28. Mär 2012
Falsch, lies mal, was ich oben ausm docwiki zitiert habe.
Assigned überprüft nicht, ob irgendwelcher Müll in dem Methodenzeiger steht, sondern nur ob er ungleich nil ist.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
28. Mär 2012
Gibt keinen unterschied, Assigned ist eine built-in inline Function (manche sagen dazu Compilermagic, weil man den Source davon nicht in der System.pas sieht) und erzeugt denselben assembler Code wie ein Vergleich auf nil.
Assigned kann allerdings nicht in allen Fällen verwendet werden - zum Beispiel bei dem Ergebnis einer Funktion, da man dieses nicht über einen var Parameter weitergeben...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
28. Mär 2012
Dir ist wohl entgangen, dass es sich hier um eine Aggregation von IrgendeineKlasse und TAndereKlasse handelt oder?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
28. Mär 2012
Lazy initialization um genau zu sein 8-)