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


  • Mod

    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.


Anmelden zum Antworten