Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
30 / 8 / 2
Регистрация: 20.08.2011
Сообщений: 615
1

Удаление объектов из массива

10.02.2015, 16:26. Просмотров 499. Ответов 4
Метки нет (Все метки)

Добрый день.
Забыл следующее: в некотором объекте в приватной зоне есть массив вида:
C++ (Qt)
1
QList<SomeClass*> data;
Когда происходит удаление объекта, нужно ли в его деструкторе писать такое:
C++ (Qt)
1
foreach(SomeClass *item, data) delete item;
Или удаление объектов, которые в массиве, произойдет и без моего вмешательства?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2015, 16:26
Ответы с готовыми решениями:

Удаление объектов массива QVector
Здравствуйте. Имеется массив указателей QVector&lt;BNWorker*&gt; bnworkersList; В программе в этот...

Удаление объектов из массива по id
Подскажите как выполнить следующую задачу. Есть массив id`шников и массив объектов: var idArr...

Удаление элемента из массива объектов
function del (){ 'use strict'; for(var i in s){ if(s.m === $('nomer1').value) { delete s;...

Удаление объекта из массива объектов
Здравствуйте. Вопрос вот в чем: есть массив объектов некоторого класса в ArrayList. В определенный...

4
855 / 445 / 111
Регистрация: 06.07.2013
Сообщений: 1,483
10.02.2015, 16:30 2
нужно, лист ничего не знает о том что содержат ваши указатели (объектах SomeClass), тем более может быть они ни на что не указываю вовсе , он лишь хранит указатели на SomeClass.
во вторых лист не знает понадобятся ли вам еще эти данные или нет, может быть такое, что листа нет, а данные используются в другом месте еще - к примеру во втором листе
1
1396 / 1253 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.02.2015, 16:38 3
Цитата Сообщение от [progeR] Посмотреть сообщение
нужно ли в его деструкторе писать такое:
лучше писать qDeleteAll(data)
1
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
10.02.2015, 16:53 4
Цитата Сообщение от RazrFalcon Посмотреть сообщение
лучше писать qDeleteAll(data)
но это не означает, что элементы в списке будут очищенны, так что помимо qDeleteAll нужно еще data.clear(); делать
0
1396 / 1253 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.02.2015, 16:57 5
Maxim Prishchepa, это да, но я писал чисто про пример ТС. Так как нет смысла foreach использовать, когда есть готовая обертка.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2015, 16:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Удаление объекта из Массива объектов
Приветствую! Подскажите как удалить объект из массива Object mas = cls1.GetObjects(&quot;&quot;);...

Удаление из массива объектов через datagridView
Ребята, нужна помощь. Мне нужно сделать так, чтобы при удалении выбранной строки из datagridview,...

Добавления и удаление объектов из динамического массива
Есть динамический массив объектов класса. Как реализовать возможность добавления или удаления...

Удаление объектов из массива, содержащихся в другом массиве
Здравствуйте. У меня есть 2 массива, первый содержит все объекты (примерно 100 000), второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.