Qt 对象实例化查询

Qt Object instantiation query

本文关键字:查询 实例化 对象 Qt      更新时间:2023-10-16
QObject *obj;
...
if ( /* obj is already instantiated */ ) {
    ;
} else {
    obj = new QObject();
}

我的查询是 if 的条件

1( 初始化指向 NULL 的对象指针

2( 检查if语句中的空

QObject *obj = NULL;
...
if ( obj != NULL ) {
    ;
} else {
    obj = new QObject();
}
QObject *obj = 0;
// ...
if (!obj) obj = new QObject();

注意:不保证obj不是悬空指针。

使用QPointer类。 http://qt-project.org/doc/qt-4.8/qpointer.html#data

每当您调用deleteLater();时,它都会将其设置为 0,而不是您可以检查它。

QPointer<QWidget> someWidget = 0;