crossplatform.ru

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

> Динамические объекты в Qt?
registr
  опции профиля:
сообщение 10.10.2011, 18:37
Сообщение #1


Участник
**

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

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




Репутация:   1  


Как подчищаются динамические объекты (через new)? Освобождается память операционной системой или какими-то Qt-шными средствами?

Перефразирую вопрос. Почему в Qt Examples and Demos динамические объекты не удалаются через delete в деструкторах?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
registr
  опции профиля:
сообщение 10.10.2011, 20:20
Сообщение #2


Участник
**

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

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




Репутация:   1  


Цитата
Потому что у них есть родители, которые удаляют их при своем уничтожении. Простой пример:

Я имел в виду динамический объект верхнего уровня, то есть на вершине иерархии.

Например, Qt 4.7 Examles and Demos, OpenGL, Hello GL Example

Там есть два класса GLWidget и Window. Я цитирую файл window.cpp
    
Window::Window()
{
   glWidget = new GLWidget;

Объект "glWidget" динамический, но он не объект-потомок. Нужно либо указать, что он объект-потомок
Window::Window()
{
   glWidget = new GLWidget(this);

либо удалить его в деструкторе
    
Window::~Window()
{
   delete glWidget;


Но этого в примере нет. Я не понимаю почему.

Вообщем разобрался :)

Сообщение отредактировал registr - 10.10.2011, 19:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




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