Als «destructor» getaggte Fragen

21
Gibt es einen Destruktor für Java?
Gibt es einen Destruktor für Java? Ich scheine keine Dokumentation dazu zu finden. Wenn nicht, wie kann ich den gleichen Effekt erzielen? Um meine Frage genauer zu formulieren, schreibe ich eine Anwendung, die sich mit Daten befasst, und die Spezifikation besagt, dass es eine Schaltfläche zum Zurücksetzen geben sollte, die …

9
Wie bereinige ich ein Python-Objekt korrekt?
class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)oben schlägt mit einer AttributeError-Ausnahme fehl. Ich verstehe, dass Python beim Aufrufen nicht die Existenz von "globalen Variablen" (Mitgliedsdaten in diesem Kontext?) Garantiert__del__() . Wenn dies der Fall ist und dies der Grund für …
462 python  destructor 

7
Muss ich den virtuellen Basiszerstörer explizit aufrufen?
Wenn ich eine Klasse in C ++ überschreibe (mit einem virtuellen Destruktor), implementiere ich den Destruktor erneut als virtuell für die erbende Klasse, aber muss ich den Basisdestruktor aufrufen? Wenn ja, stelle ich mir das so vor ... MyChildClass::~MyChildClass() // virtual in header { // Call to base destructor... this->MyBaseClass::~MyBaseClass(); …
350 c++  destructor 

16
Ausnahmen aus einem Destruktor werfen
Die meisten Leute sagen, wirf niemals eine Ausnahme aus einem Destruktor heraus - dies führt zu undefiniertem Verhalten. Stroustrup weist darauf hin, dass "der Vektordestruktor den Destruktor explizit für jedes Element aufruft. Dies impliziert, dass die Vektorzerstörung fehlschlägt, wenn ein Elementdestruktor ausgelöst wird ... Es gibt wirklich keine gute Möglichkeit, …





12
Warum brauchen wir in C ++ einen reinen virtuellen Destruktor?
Ich verstehe die Notwendigkeit eines virtuellen Destruktors. Aber warum brauchen wir einen reinen virtuellen Destruktor? In einem der C ++ - Artikel hat der Autor erwähnt, dass wir einen reinen virtuellen Destruktor verwenden, wenn wir eine Klasse abstrakt machen möchten. Wir können eine Klasse jedoch abstrakt machen, indem wir jedes …

6
Wie zerstöre ich ein Objekt?
Soweit ich weiß (was sehr wenig ist), gibt es zwei Möglichkeiten: $var = new object() Dann: // Method 1: Set to null $var = null; // Method 2: Unset unset($var); Andere bessere Methode? Spalte ich hier Haare?

10
Wann wird ein C ++ - Destruktor aufgerufen?
Grundlegende Frage: Wann ruft ein Programm die Destruktormethode einer Klasse in C ++ auf? Mir wurde gesagt, dass es immer dann aufgerufen wird, wenn ein Objekt den Gültigkeitsbereich verlässt oder einem Objekt ausgesetzt istdelete Spezifischere Fragen: 1) Wenn das Objekt über einen Zeiger erstellt wird und dieser Zeiger später gelöscht …
117 c++  destructor 



2
GNU GCC (g ++): Warum werden mehrere Dtoren generiert?
Entwicklungsumgebung: GNU GCC (g ++) 4.1.2 Während ich versuche zu untersuchen, wie die Codeabdeckung - insbesondere die Funktionsabdeckung - beim Komponententest erhöht werden kann, habe ich festgestellt, dass ein Teil der Klasse dtor anscheinend mehrmals generiert wird. Haben einige von Ihnen eine Idee, warum, bitte? Ich habe versucht und beobachtet, …
89 c++  g++  destructor 

3
shared_ptr magic :)
Herr Lidström und ich hatten einen Streit :) Die Behauptung von Herrn Lidström ist, dass für ein Konstrukt shared_ptr<Base> p(new Derived);Base keinen virtuellen Destruktor benötigt: Armen Tsirunyan : "Wirklich? Wird der shared_ptr korrekt bereinigt? Könnten Sie bitte in diesem Fall zeigen, wie dieser Effekt implementiert werden könnte?" Daniel Lidström : …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.