Objektbilanz überprüfen?



  • Mein binärer Baum wird komplett dynamisch allokiert. Nun würde ich gern herausfinden, ob der Destruktionsalgorithmus so funktioniert wie er soll, also alle Objekte gelöscht werden.
    Wenn falsches Forum bitte nach msvc verschieben...



  • Hi!

    Ja und wo ist nun das Problem? Du gehst einfach den Baum durch und wenn es irgendwo nicht weitergeht, du also in der tiefsten Ebene bist, dann löschst du das Objekt.
    Aber ehe das passiert kannst du auch ein Programm verwenden was überprüft ob das Programm den gesamten reservierten Speicher wieder freigegeben hat. Wenn nicht weißt du das da irgendwas nicht stimmt.

    Code-Hacker



  • mach das doch einfach so

    class count {
    #ifndef NDEBUG
      static unsigned long n=0;
    public:
      count() { ++n; }
      ~count() {
        if(!--n)
          std::cout << "Alles gelöscht!\n";
      }
    #endif
    };
    
    class zu_testende_klasse {
      count cobj;
    
      //der rest wie sonst
    };
    

    so zählt der im Debug Modus (NDEBUG nicht definiert, wie bei man: assert(3)) eben mit, wie viele Objekte erzeugt wurden.


Anmelden zum Antworten