Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QLIST список указателей
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
denisKazachkov
Добрый день Уважаемые разработчики. У меня следующий вопрос...
есть функция:

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


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

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

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

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

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

Спасибо, помогли! :)
denisKazachkov
Еще такой вопрос.
Когда мы пишем delete obj;
Вызывается дестурктор объекта obj?
Алексей1153
да, вызывается
denisKazachkov
Цитата(Алексей1153 @ 28.6.2012, 20:43) *
да, вызывается

Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.