Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Destructor notwendig bei class?

  Alt 13. Jun 2012, 15:25
Zitat:
1. Ging es bei der Aussage nur um den Stil
Stil ist subjektiv, ich finde den Stil von Iwo Asnet besser.

Zitat:
2. Gibst du zwar jedes Objekt frei, dies allerdings indexbasiert. Löscht aber nicht im gleichen Zug den Index dazu aus der Liste. Dadurch sorgst du bewusst dafür, dass die Liste nicht mehr synchron, mit Elementen und darin enthalten Objekten, ist
Das ist auch nicht notwendig und solche Zustände sind im Programmablauf nur schwer zu vermeiden.
Das selbe Problem zwischen diesen beiden Zeilen in deinem Code:
Delphi-Quellcode:
    if Assigned(aObj) then FreeAndNil(aObj);
    Liste.Delete(0); //auch Listeneintrag löschen
Am Ende der Methode ist ein definierter Zustand erreicht, das ist wichtig.

Zitat:
3. Das Clear, das im Destruktor von TList aufgerufen wird, ist kein Freifahrtsschein dafür, sich nicht vernünftig um die Elemente der Liste, gerade beim Freigeben, zu kümmern
Hat niemand behauptet.

Zitat:
4. Wird das schon in der Vorlesung "Grundlagen der Informatik" gelehrt und ist in der Informatik allgemeingültig
Was meinst du mit "das"?

Wer so was lehrt, hat Schläge verdient:

if Assigned(aObj) then FreeAndNil(aObj);
  Mit Zitat antworten Zitat