crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Litkevich Yuriy
  опции профиля:
сообщение 17.8.2010, 12:57
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Никак не могу въехать в виртуальный деструктор.
Есть некая программа написанная с использованием Qt, работает стабильно. При развитии программы, она может падать в некий момент времени, обычно при взаимодействии с пользовательским интерфейсом. Но чаще возникает авария при завершении работы.
Эту ситуацию можно пердотвратить в ведя в один из классов пустой, ничего не делающий, виртуальный деструктор.

Речь идёт о наследнике либо QObject, либо QWidget.

Может кто-нибудь объяснить, как может влиять создание руками виртуального деструктора, при условии, что его тело пустое?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 18.8.2010, 15:03
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Litkevich Yuriy @ 17.8.2010, 15:57) *
Может кто-нибудь объяснить, как может влиять создание руками виртуального деструктора, при условии, что его тело пустое?

я уже писала: никак не влияет. просто лишний вызов или перераспределение кода при очередной компиляции скрывает ошибку потоков или затирания памяти.
от пустого деструктора абсолютно ничего не прибавляется, виртуальный он или не виртуальный.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Litkevich Yuriy   C++, виртуальный деструктор   17.8.2010, 12:57
- - BRE   Ситуация вообще странная. Насколько я помню, вирту...   17.8.2010, 13:04
- - Litkevich Yuriy   Цитата(BRE @ 17.8.2010, 17:04) Насколько ...   17.8.2010, 13:14
- - BRE   Прав. Вызовется деструтор MyObject, а потом QObjec...   17.8.2010, 13:19
- - Litkevich Yuriy   и ещё, при отладке в Креаторе увидел что в консоль...   17.8.2010, 13:27
- - Алексей1153   Litkevich Yuriy, а когда запущено на отладку без т...   17.8.2010, 13:36
- - Litkevich Yuriy   Цитата(Алексей1153 @ 17.8.2010, 17:36) Об...   17.8.2010, 13:42
- - DEADHUNT   добавляя виртуальный деструктор получаем: 1) полим...   17.8.2010, 14:10
- - Влад   Ежли мой склероз мне не изменяет, еще Джефф Элджер...   17.8.2010, 15:18
- - Litkevich Yuriy   Цитата(DEADHUNT @ 17.8.2010, 18:10) добав...   17.8.2010, 15:20
- - DEADHUNT   Цитата(Litkevich Yuriy @ 17.8.2010, 16:20...   17.8.2010, 15:39
- - Алексей1153   Цитата(Влад @ 17.8.2010, 18:18) за исключ...   17.8.2010, 16:37
- - Litkevich Yuriy   Цитата(DEADHUNT @ 17.8.2010, 19:39) класс...   17.8.2010, 16:38
- - kwisp   лишний повод(причина) не использовать креатор.   17.8.2010, 17:07
- - Iron Bug   Цитата(Litkevich Yuriy @ 17.8.2010, 19:38...   17.8.2010, 17:53
- - Алексей1153   и ещё ... вызываются ли виртуальные функции в дест...   17.8.2010, 18:41
|- - BRE   Цитата(Алексей1153 @ 17.8.2010, 19:41) .....   17.8.2010, 19:00
- - kwisp   BRE, не знаю почему но могу предположить: при вы...   17.8.2010, 19:08
- - Алексей1153   Вроде нельзя, потому что виртуальная таблица уже п...   17.8.2010, 19:11
- - BRE   На сколько я помню, при удалении объекта с виртуал...   17.8.2010, 19:20
- - Алексей1153   нет, речь не про виртуальный деструктор, а про явн...   17.8.2010, 19:24
- - BRE   Ты про чисто виртуальные функции или просто виртуа...   17.8.2010, 19:27
- - Алексей1153   Щас сделаю тест, самому охота вспомнить ) хм, выя...   17.8.2010, 19:51
- - Iron Bug   Цитата(BRE @ 17.8.2010, 22:20) На сколько...   17.8.2010, 20:21
- - Litkevich Yuriy   Цитата(Алексей1153 @ 17.8.2010, 22:41) .....   18.8.2010, 4:26
- - Алексей1153   Цитата(Litkevich Yuriy @ 18.8.2010, 7:26)...   18.8.2010, 6:50
- - kwisp   Цитата(Алексей1153 @ 17.8.2010, 20:51) хм...   18.8.2010, 9:43
- - Алексей1153   Цитата(Алексей1153 @ 17.8.2010, 22:11) фу...   18.8.2010, 10:11
- - kwisp   Цитата(Алексей1153 @ 17.8.2010, 20:11) Бу...   18.8.2010, 11:16
- - Алексей1153   что тут верить то Проверить, и всё class A { publ...   18.8.2010, 12:20
- - kwisp   Алексей1153, хитрец ты вызываешь не чисто виртуал...   18.8.2010, 13:41
- - DEADHUNT   Цитата(Алексей1153 @ 18.8.2010, 13:20) чт...   18.8.2010, 13:41
- - Алексей1153   Цитата(kwisp @ 18.8.2010, 16:41) хитрец т...   18.8.2010, 13:57
- - DEADHUNT   Цитата(Алексей1153 @ 18.8.2010, 14:57) Ил...   18.8.2010, 14:02
- - Iron Bug   Цитата(Litkevich Yuriy @ 17.8.2010, 15:57...   18.8.2010, 15:03
- - Алексей1153   DEADHUNT, понятно ) А я то понял, что про именно ...   18.8.2010, 19:12
- - Litkevich Yuriy   вобщем шутки RunTime продолжаются. Похоже, что чу...   19.8.2010, 8:51
- - Алексей1153   Litkevich Yuriy, а у тебя нигде директива не испол...   19.8.2010, 12:43
- - DEADHUNT   Цитата(Litkevich Yuriy @ 19.8.2010, 9:51)...   19.8.2010, 14:23
|- - BRE   Цитата(DEADHUNT @ 19.8.2010, 15:23) а все...   19.8.2010, 14:25
- - DEADHUNT   вот нашёл пример: http://www.devexp.ru/2010/01/cma...   19.8.2010, 14:36
- - Litkevich Yuriy   Цитата(DEADHUNT @ 19.8.2010, 18:23) а все...   19.8.2010, 15:51


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 11:13