Wann sollte delete für ein gcnew allokiertes Objekt aufgerufen werden?

8

Ich habe das folgende Beispiel MSKB gelesen und führe eine Löschung für ein verwaltetes Objekt durch.

Ich hatte den Eindruck, dass Sie nie ein gesammeltes gesammeltes Objekt löschen sollten, sondern dass Sie das dem Garbage Collector überlassen müssen.

Was habe ich verpasst?

Methode 4

%Vor%     
TownCube 17.08.2011, 02:54
quelle

1 Antwort

11

delete in C ++ / CLI ruft lediglich die Dispose auf Methode für ein verwaltetes Objekt, wenn es die Schnittstelle System::IDisposable implementiert - falls dies nicht der Fall ist Es ist effektiv ein Noop. Wenn Sie versuchen, die Dispose -Methode für ein verwaltetes Objekt selbst aufzurufen, erhalten Sie einen Compiler-Fehler - delete ist das erzwungene Idiom zum Ablegen eines Objekts.

Um es klar zu sagen, es hat nichts mit der Speicherverwaltung zu tun, und merkt natürlich an, dass die meisten finalisierbaren Objekte früher erkannt werden, wenn sie entsorgt werden.

    
ildjarn 17.08.2011, 07:48
quelle

Tags und Links