QPointer类是一个模板类,继承于QObject的类就可以使用了。 使用 只需要使用QPointer包含使用即可。 QPointer<QPushButton> button1 = new QPushButton; QPointer<QPushButton> button2 = button1; button2->setText
shared_ptr而引入的一种智能指针 -unique_ptr 只能一个指针对象指向一片内存空间(和auto_ptr类似),但是不能被拷贝和赋值(实现唯一性) QT中的智能指针(在后面学习到,再来深入描述) -QPointer 头文件<QPointer> 当其指向的对象被销毁时,他会被自动置空(避免被多次释放和野指针) 缺点在于,该模板类析构时,不会自动摧毁所指向的对象(需要手工delete) -QSharedPointer
守护指针(QPointer),当被引用的对象被销毁时,它会自动设置为0,不像普通的c++指针,当对象被销毁时,它会变成悬空指针。 许多Qt特性都是通过标准C++技术实现的,基于QObject的继承。
void videoSinkChanged(); public slots: void deliverFrame(const QVideoFrame& frame); private: QPointer
QPointer 特点:当其指向的对象(T必须是QObject及其派生类)被销毁时,它会被自动置NULL. 它可以作为QPointer的替代品 这种情况下,不需要QSharedPointer的存在 5.
q_processIncomingConnection() accepted socket %i", descriptor); #endif q->incomingConnection(descriptor); QPointer
29.Qt中的智能指针 -QPointer 当其指向的对象被销毁时,本身会自动赋值为NULL(从而避免被多次释放和野指针) 缺点在于,该模板类析构时,不会自动摧毁所指向的对象(需要手工delete)