1 Qt中的智能指针
1.1 QPointer
QPointer:
- 当其指向的对象被销毁时,它会被自动置空。
- 析构时不会自动销毁所指向的对象。
注意:
QPointer要求所指向的对象必须继承于QObject,底层实现是维护了一个哈希表,具体的细节暂时不进行深入研究。QPointer对象可以和NULL进行直接比较,是因为实现了类型转换函数,如下:operator T * () const。
1.2 QSharedPointer
QSharedPointer:
- 引用计数型智能指针。
- 可以被自由的拷贝和赋值。
- 当引用计数为0时才删除指向的对象。
编程实验:Qt中的智能指针
#include <QPointer>
#include <QSharedPointer>
#include <QDebug>
class Test : public QObject
{
QString m_name;
public:
Test(const char* name)
{
qDebug() << "Hello, "

最低0.47元/天 解锁文章
4639

被折叠的 条评论
为什么被折叠?



