我對編程頗爲陌生,因爲我仍然在學習如何高效地編寫代碼,所以我的問題看起來有點奇怪。我們應該在Qt中使用哪種內存管理方法?
當我正在學習如何使用Qt進行編碼時,我知道Qt有一個內存管理方法,當父節點本身被刪除時,父節點會刪除它的所有子節點,然後有QSharedPointer
和其他許多智能指針事件(或你可能會提到boost::shared_ptr
)。
我明白這兩種方法的工作方式,但我的問題是,當涉及到Qt中整個系統結構的設計時,我是否應該將我的大部分類作爲QObject
的子類,並將所有權移交給QT內存管理,還是簡單地使用boost::shared_ptr
或QSharedPointer
的東西來避免潛在的內存泄漏?
因爲如果我們採用這兩種技術都有很多問題需要考慮,因爲這可能會導致雙重刪除問題。
那麼哪種技術具有更好的性能或哪種設計更好?