我在Qt应用程序中有一些间歇性的分割错误。我认为问题与我们对QSharedPointer的(不良)使用有关。 Qt Documentation states:



我想我们都在做一定不要 ...:/

是否有一种OOP方法可以强制执行QSharedPointer管理的指针不能删除或传递给另一个QSharedPointer

最好的解决方案是出现编译器错误。

最佳答案

正常模式是将new语句放入智能指针的构造函数中,如下所示:

QSharedPointer<Obj> p (new Obj(2));

这样,您就永远不会引用裸指针本身。

如果您重构代码,以便所有新的运算符都位于这些行中,则所有问题都将得到解决。

09-08 09:58