Russian Qt Forum
Ноябрь 25, 2024, 03:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проверка что объект создан  (Прочитано 3358 раз)
QwerTech
Гость
« : Июль 25, 2012, 12:49 »

Как проверить что объект создан?

Вот пример:
Код:
    
    QObject *gisMaker = new QObject();
    delete gisMaker;
    if(gisMaker == 0)
    {
        QMessageBox msg;
        msg.setText("Объект удален");
        msg.show();
    }

Только он не работает. По какому условию можно проверить что объект создан?
Записан
Bepec
Гость
« Ответ #1 : Июль 25, 2012, 12:53 »

Никак Улыбающийся

Точнее вызвать какой нить его метод и с шансом 50% смотреть как он передаёт мусор, или же валит программу, или же грызёт память и прочая.

PS как решение - обнулять указатель после удаления.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Июль 25, 2012, 13:00 »

хранить указатели в QPointer
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #3 : Июль 25, 2012, 13:02 »

Код:
    
    QObject *gisMaker = new QObject();
    delete gisMaker;
    if(gisMaker == 0)
    {
        QMessageBox msg;
        msg.setText("Объект удален");
        msg.show();
    }

не будет работать, так как ты объект удалил ,а указатель не обнулил, вот у тебя условие и не выполняется.
Записан
mutineer
Гость
« Ответ #4 : Июль 25, 2012, 13:05 »

Если наследник QObject, то использовать QPointer
Если нет, то обнулять указатель после удаления объекта
Записан
QwerTech
Гость
« Ответ #5 : Июль 25, 2012, 13:59 »

Благодарю, решение с обнулением указателя то что нужно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.298 секунд. Запросов: 23.