crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Освобождение памяти в Qt
terrible
  опции профиля:
сообщение 1.2.2008, 20:04
Сообщение #1


Студент
*

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

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




Репутация:   0  


Правильно ли я понимаю, если я создаю класс Foo производный от QObject и динамически выделяю память для него, задав в конструкторе, что он зависит от обьекта класса Bar, то при уничтожении обьекта Bar динамически выделенная память для обьекта класса Foo освободиться? Например:
class Foo: public QObject
{
public:
   Foo( QObject *pObject):QObject( pObject)
   // ...
};

class Bar: public QObject
{
public:
   Bar( QObject *pObject):QObject( pObject)
   // ...
};

void main()
{
   {
      Bar b;
      Foo *pFoo=new Foo( &b);
   }
   // Здесь у нас память выделенная под pFoo освободиться?
}
Или надо память освобождать руками?

Если руками, то когда это делать? Ведь при выходе обьекта b из области видимости он разрушается, а вместе с ним должен вроде как разрушиться и pFoo. :)

Сообщение отредактировал terrible - 1.2.2008, 20:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
archimed7592
  опции профиля:
сообщение 1.2.2008, 23:21
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 27.12.2007
Из: Moscow
Пользователь №: 56

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




Репутация:   0  


Цитата(terrible @ 1.2.2008, 20:04) *
// Здесь у нас память выделенная под pFoo освободиться?
Угу. Прочитай документацию к конструктору и деструктору QObject.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
terrible
  опции профиля:
сообщение 2.2.2008, 0:17
Сообщение #3


Студент
*

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

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




Репутация:   0  


Я читал уже потому и спрашиваю. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
archimed7592
  опции профиля:
сообщение 2.2.2008, 0:20
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 27.12.2007
Из: Moscow
Пользователь №: 56

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




Репутация:   0  


Там же чёрным по белому "да, удаляет".. даже предупреждают про child auto-objects :).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
terrible
  опции профиля:
сообщение 2.2.2008, 11:29
Сообщение #5


Студент
*

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

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




Репутация:   0  


Я не был уверен что правильно понял, спасибо за разъяснения. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.1.2021, 13:41