crossplatform.ru

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


  Ответ в Вопрос про деструктор и delete()
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
registr Дата 9.8.2011, 16:42
  Всем спасибо, вроде уже разобрал, что к чему.
Iron Bug Дата 9.8.2011, 16:37
  Самое лучшее разъяснение этих вопросов - книжка Бьёрна Страуструпа "Язык программирования C++". Читать основы С++ до полного просветления, иначе объяснять просто бесполезно.
Litkevich Yuriy Дата 9.8.2011, 16:27
 
Цитата(registr @ 9.8.2011, 16:50) *
Но сам деструктор явно нигде не вызывается
деструктор явно никогда не вызывается, развечто при записи:
delete someObject;
registr Дата 9.8.2011, 13:50
  Смотрю демо QtOpenGL. В классе виджета часто определяется деструтор. Обычно в нём удаляют дисплейные списки, текстурные объекты и т.д. Но сам деструктор явно нигде не вызывается. Вопрос, может он вызывается автоматически после закрытия приложения? И что будет, если я не определю деструктор, то как подчистится память от дисплейных списков и т.д. Если не ошибаюсь, речь идет о сборке мусора. Т.е. существует ли в Qt автоматическая сборка муроса без деструкторов? Если таковая сборка мусора есть, то зачем тогда нужен деструктор?

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

Буду признателен за хорошее разяснение этих вопросов))
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 6.5.2024, 14:12