crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QLIST список указателей, Удаляет ли деструктор qlist занесенные в него указатели
denisKazachkov
  опции профиля:
сообщение 26.6.2012, 15:25
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 26.6.2012
Пользователь №: 3433

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




Репутация:   0  


Добрый день Уважаемые разработчики. У меня следующий вопрос...
есть функция:

void setO()
{
   MyO *obj = new MyO();
   QList<MyO*> list;
   list.append(obj);
   return list;
}


По завершению этой функции освободится ли память от объекта obj или надо удалять вручную
delete obj;
??????
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 26.6.2012, 16:14
Сообщение #2


Активный участник
***

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

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




Репутация:   3  


Цитата
По завершению этой функции освободится ли память от объекта obj или надо удалять вручную
delete obj;

От obj освободиться, а вот от объекта на который он указывает нет. Таки да, придется удалять вручную:
delete obj;

QList на это кстати никак не влияет. Он удаляет только объекты внутри контейнера и не переходит по ссылкам, даже если заполнен ими.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
denisKazachkov
  опции профиля:
сообщение 28.6.2012, 11:06
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 26.6.2012
Пользователь №: 3433

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




Репутация:   0  


Цитата(ilyabvt @ 26.6.2012, 17:14) *
Цитата
По завершению этой функции освободится ли память от объекта obj или надо удалять вручную
delete obj;

От obj освободиться, а вот от объекта на который он указывает нет. Таки да, придется удалять вручную:
delete obj;

QList на это кстати никак не влияет. Он удаляет только объекты внутри контейнера и не переходит по ссылкам, даже если заполнен ими.

Спасибо, помогли! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
denisKazachkov
  опции профиля:
сообщение 28.6.2012, 19:31
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 26.6.2012
Пользователь №: 3433

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




Репутация:   0  


Еще такой вопрос.
Когда мы пишем delete obj;
Вызывается дестурктор объекта obj?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.6.2012, 19:43
Сообщение #5


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

Группа: Участник
Сообщений: 2933
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


да, вызывается
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
denisKazachkov
  опции профиля:
сообщение 4.7.2012, 12:50
Сообщение #6


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 26.6.2012
Пользователь №: 3433

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




Репутация:   0  


Цитата(Алексей1153 @ 28.6.2012, 20:43) *
да, вызывается

Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 17.8.2022, 22:06