私は効率的にコーディングする方法をまだ学んでいるので、プログラミングにはまったく慣れていないので、私の質問は少し奇妙に思えるかもしれません.
Qt でコーディングする方法を学んでいると、Qt にはメモリ管理メソッドがあり、それ自体が削除されたときに親がすべての子を削除し、QSharedPointer
他にも非常に多くのスマート ポインターがあることを知っています (または、言及することができますboost::shared_ptr
)。
私は両方の方法がどのように機能するかを正確に理解していますが、私の質問は、Qt のシステム構造全体の設計に関しては、クラスのほとんどをサブクラスにQObject
して、所有権を QT に渡してメモリ管理を行うべきか、またはメモリ リークの可能性を回避するために単にboost::shared_ptr
orを使用していますか?QSharedPointer
両方の手法を採用すると、二重削除の問題が発生する可能性があるため、考慮すべき問題がたくさんあります。
では、どちらの手法がより優れたパフォーマンスを発揮し、どちらが設計上優れているのでしょうか?