Dynamische Speicherverwaltung
-
Hi,
Ich verwende die Qt-Bibliothek. Nun lege ich im Programm dynmaisch Widgets an, wie z. B:
QPushButton *button1 = new QPushButton("button1");
Nun wird in dem Lehrbuch dieser dynamisch angefordeter Speicher nicht mit delete freigegeben. Dann bleibt ja dieser Speicher trotz Beendigung des Programms noch besetzt / reserviert oder?
lg
-
Jeffson schrieb:
Dann bleibt ja dieser Speicher trotz Beendigung des Programms noch besetzt / reserviert oder?
Du wirst diesen Button ja irgendwo zu einem anderen QWidget hinzufügen und dieser hält dann einen Smart-Pointer auf seine Kinder. Wenn das Eltern-Widget zerstört wird, werden also automatisch alle Kinder zerstört.
PS: Falsches Forum.
-
Hi,
sobald du den Button einem Parent zuweist, übernimmt Qt das Aufräumen für dich. Ansonsten hast allerdings recht, dass du ein Speicherleck erzeugen würdest.
KaPtainCugel
-
Jeffson schrieb:
Dann bleibt ja dieser Speicher trotz Beendigung des Programms noch besetzt / reserviert oder?
alle resourcen die zu einem programm gehoeren werden beim beenden von diesem auch wieder frei, bei modernen betriebssystemen.