QT QPointer类

版权声明:本文为博主原创文章,欢迎转载,请标明出处。 https://blog.csdn.net/Think88666/article/details/86500168

QPointer类是一个模板类,是为了QObject提供的一种监视指针。

QPointer模板类类似于标准库中的weak_ptr弱引用特性。即不管理内存,仅提供监视以及访问

 QPointer 指针引用的对象被销毁时候,该指针会自动指向NULL

举例说明

//假设Test类继承自QObject
Test* t1 = new Test;
QPointer<Test> t2 = t1;
delete t1;
//此时t2已经指向了NULL!
if(t2.isNull()){
    cout<<"t2 is NULL"<<endl;
}

值得注意的是,若我们要使用QPointer模板类来管理我们自定义的类,那么这个类就需要直接或间接继承自QObject

猜你喜欢

转载自blog.csdn.net/Think88666/article/details/86500168