问题描述:
前面有篇文章,写了我建议在函数中new一个指针的时候最好使用QPointer模板类,这样就可以不用后面再加detele pointer的清除操作。当时觉得用QPointer的原因主要是QScopedPointer和QSharedPointer这两个类写起来太长了,费劲。所以觉得QPointer挺好的。
不过,看到Qt官方开发人员建议我们弃用QPointer,所以我重新理解了一遍到底怎么回事儿.....
解决办法:
为什么要弃用QPointer?
首先来看看这些个智能指针的介绍:
智能指针类名称 | 定义 | 作用 |
QSharedPointer | QSharedPointer 类 持有对共享指针的强引用 |
QSharedPointer 是 C++ 中的自动共享指针。它的行为与用于正常目的的普通指针完全一样,包括对常量。 如果没有其他 QSharedPointer 对象引用它,QSharedPointer 将在超出范围时删除它持有的指针。 可以从普通 |