我对编程很陌生,因为我仍在学习如何有效地编码,所以我的问题可能看起来有点奇怪。
当我学习如何使用 Qt 编码时,我知道 Qt 有一个内存管理方法,当它本身被删除时,父级会删除它的所有子级,然后还有QSharedPointer
很多其他智能指针的东西(或者你可能会提到boost::shared_ptr
)。
我理解这两种方法到底是如何工作的,但我的问题是,当涉及到 Qt 中整个系统结构的设计时,我是否应该让我的大部分类成为 QT 的子类QObject
并将所有权移交给 QT 以进行内存管理,或者简单地使用boost::shared_ptr
orQSharedPointer
东西来避免潜在的内存泄漏?
因为如果我们同时采用这两种技术有很多问题需要考虑,因为它可能会导致双重删除问题。
那么哪种技术具有更好的性能或在设计中哪种更好?