Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: fear от Ноябрь 25, 2006, 16:45 Возможно ли отследить имеется ли объект, имея указатель?
Задача состоит в том, чтобы при удалении parent`а (o1), не выводить значения child`ов, объекты которых так же уничтожатся. Единственный способ, которой приходит в голову, это инициализация всех указателей на child`ов нулём при удалении parent`а. Есть ли другой способ? Код: #include <QtCore/QCoreApplication> Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: Dendy от Ноябрь 25, 2006, 19:25 QPointer тебе в помощь :D
Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: fear от Ноябрь 27, 2006, 01:47 Спасибо, то что нужно.
Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: Admin от Ноябрь 27, 2006, 14:12 >>Возможно ли отследить имеется ли объект, имея указатель?
в нативном c++ я вижу 2 способа 1. после delete p ставить p=NULL; 2. попробовать dinamic_cast<> должно вроде null вернуть Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: bigirbis от Ноябрь 27, 2006, 16:02 Цитировать попробовать dinamic_cast<> должно вроде null вернуть тогда уж qobject_cast А вообще, есть подозрение что приложение свалится при доступе к освобожденной памяти. Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: Dendy от Ноябрь 27, 2006, 18:18 1. Интересно как ето вьІнайдёте все переменньІе в программе, указатели которьІх ссьІлаются на удаляемьІй обьект?
2. А что по вашему вернёт dynamic_cast<>, если подставить ему адрес памяти, заново вьІделенньІй после удаления? (Ето когда два new возвратят одно и то же значение.) Вернёт какую-то чушь. Не вариант вообще. Название: Существует ли объект? Возможно ли узнать имея указатель? Отправлено: Admin от Ноябрь 29, 2006, 11:15 я насчет указателей стараюсь пользовать auto_ptr
а то так с осовобождением памяти иногда замудришь, особенно если eсxeption есть |