objekt löschen



  • Hallo,

    hab mal ne Anfängerfrage (find über google nichtshilfreiches dazu):

    Wie lösche ich ein Objekt meiner eigenen Klasse?

    mit

    delete objekt1;
    

    scheint das nicht ganz so zu funktionieren...

    Danke für Rat!

    Gruß,
    sceche



  • 1. Was heisst dass es nicht funktioniert? Was hast Du erwartet?
    2. Sei dir im klaren, was delete in C++/CLI macht!
    Hier eine Zusammenfassung bezüglich Syntax (oberster Beitrag von mir):
    http://www.c-plusplus.net/forum/242975-10
    Also: delete ruft Dispose() auf!



  • ich möchte mein objekt ja nur löschen, damit ich es nachher wieder erzeugen kann, und damit alle Variablen ihre Anfangswerte wieder bekommen, wenn ich den Konstruktor noch einmal aufrufe...

    Geht das auch irgendwie anders?

    Funktionieren tut delete insofern nicht, da wenn ich nach

    delete objekt;
    

    einen Haltepunkt setze, ich immer noch sehe, dass mein objekt, alle seine Daten etc. enthält, was es ja nicht haben dürfte, wenn es schon gelöscht wäre



  • einen Haltepunkt setze, ich immer noch sehe, dass mein objekt, alle seine Daten etc. enthält, was es ja nicht haben dürfte, wenn es schon gelöscht wäre

    Darauf würde ich mal nicht gehen - immerhin ist da noch der GC involviert.

    Zeige doch mal ein kompilierbares minimal Bsp.

    Simon



  • sceche schrieb:

    ich möchte mein objekt ja nur löschen, damit ich es nachher wieder erzeugen kann, und damit alle Variablen ihre Anfangswerte wieder bekommen, wenn ich den Konstruktor noch einmal aufrufe...

    Du meinst du willst ein neues Objekt erzeugen? Wenn es da um CLR Objekte geht die mit gcnew erzeugt werden dann braucht du kein delete. Mach einfach ein neues und der Garbage Collector kümmert sich um den Rest!?



  • ok, danke für die antworten, ich versuch es nochmal


Anmelden zum Antworten