M
@Burkhi sagte in Speichermanagement von Zeigern in QT5:
Mir ist nicht klar, ob bei Qt bei der Übergabe des Parent dieser später den Speicher der untergeordneten Objekte wieder freigibt
Ja.
@Burkhi sagte in Speichermanagement von Zeigern in QT5:
Nach meiner Erfahrung bieten sich bei Speicherallokationen in C++ std::unique_ptr bzw. std::shared_ptr am besten an, seitdem ich diese verwende, habe ich keinerlei Probleme mehr mit Speicherlecks.
Ganz so einfach ist das nicht... Denk mal an eine Software in der Größenordnung 5-10 Mio Zeilen Code, über Jahrzehnte gewachsen, auch noch mit dutzenden 3rdparty Komponenten, die teilweise ganz unterschiedliche Speicherverwaltungsstrategien verfolgen. Dann teilweise auch noch sehr viele Querreferenzen (über viele Ecken), Caches usw. Und dann lässt du das auf einem Live Server paar Tage laufen, und hast das Gefühl, das verbraucht vielleicht etwas zu viel Speicher ^^
Klar, in den letzten Jahren sind Memleaks viel seltener geworden, grad auch wegen den Smartpointern. Aber wenn wir doch mal irgendwo einen vermuten, ist es teilweise immer noch extrem aufwändig, den zu finden.