crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Вопрос про деструктор и delete()
registr
  опции профиля:
сообщение 9.8.2011, 13:50
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 115
Регистрация: 16.11.2009
Пользователь №: 1234

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




Репутация:   1  


Смотрю демо QtOpenGL. В классе виджета часто определяется деструтор. Обычно в нём удаляют дисплейные списки, текстурные объекты и т.д. Но сам деструктор явно нигде не вызывается. Вопрос, может он вызывается автоматически после закрытия приложения? И что будет, если я не определю деструктор, то как подчистится память от дисплейных списков и т.д. Если не ошибаюсь, речь идет о сборке мусора. Т.е. существует ли в Qt автоматическая сборка муроса без деструкторов? Если таковая сборка мусора есть, то зачем тогда нужен деструктор?

И второй вопрос. Если я создаю динамический виджет, то и удалять его должен через delete(), а не через деструктор виджета. Как delete() понимает, что еще занята память под дисплейные списки и т.д. и что ее нужно освободить?

Буду признателен за хорошее разяснение этих вопросов))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.8.2011, 16:27
Сообщение #2


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

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

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




Репутация:   94  


Цитата(registr @ 9.8.2011, 16:50) *
Но сам деструктор явно нигде не вызывается
деструктор явно никогда не вызывается, развечто при записи:
delete someObject;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 9.8.2011, 16:37
Сообщение #3


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

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

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




Репутация:   12  


Самое лучшее разъяснение этих вопросов - книжка Бьёрна Страуструпа "Язык программирования C++". Читать основы С++ до полного просветления, иначе объяснять просто бесполезно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
registr
  опции профиля:
сообщение 9.8.2011, 16:42
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 115
Регистрация: 16.11.2009
Пользователь №: 1234

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




Репутация:   1  


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

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


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




RSS Текстовая версия Сейчас: 27.12.2024, 0:47