Speicherloch?
-
Ergibt sich hieraus ein Speicherloch??? Folgende Situation:
class MyClass { public: int length; char* text; MyClass(); ~MyClass(); }Und die Implementation
MyClass::MyClass() { length = 10; text = new char[length]; } MyClass::~MyClass() { delete text; }Angenommen ich erzeuge ein Objekt MyClass und lösche es anschließend wieder. Habe ich dann anschließend ein Speicherloch?
-
Nö.
edit: Oh, nicht genau genug gelesen. Danke an jokester für die Korrektur.
-
Nur undefiniertes verhalten, weil du mit delete[] löschen müsstest.
-
Okay, danke für die Antwort. Wenn ich folgendes mache:
MyClass* c = new MyClass(); delete c;Wird der Destruktor dann überhaupt aufgerufen?
-
klar
-
Danke für die Hinweise. Hab mein Programm repariert und top sagt mir nun, dass mein Programm kein Speicherleck mehr hat.
