QObject *obj; ... if ( /* obj is already instantiated */ ) { ; } else { obj = new QObject(); }
Мой запрос является условием , если
1) Инициализируйте указатель вашего объекта на NULL
2) Проверьте на NULL в вашем if заявлении
if
QObject *obj = NULL; ... if ( obj != NULL ) { ; } else { obj = new QObject(); }
Используйте QPointer класс.http://qt -project.org / doc / qt-4.8 / qpointer.html # data
QPointer
Всякий раз, когда вы вызываете deleteLater();, он устанавливает его в 0, чем вы можете проверить.
deleteLater();
QPointer<QWidget> someWidget = 0;
QObject *obj = 0; // ... if (!obj) obj = new QObject();
Примечание: не дает никаких гарантий obj не является висящим указателем .
obj