![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 09.11.2010
Сообщений: 2
|
![]()
Доброго времени суток, форумчане.
У меня возник вопрос. Работаю с переменной типа записи Код:
Код:
Использую Код:
Код:
Хотел посмотреть логику работы Delphi и проверить что делает программа, но в модуле System идет переход на ассемблер, что очень затрудняет дальнейшее изучение этого вопроса. Знаю, что если используется массив объектов, которые создаются и уничтожаются, то необходимо каждый объект заранее уничтожить, а только потом уже удалять массив. А как обстоят дела с массивом из таких данных?
Мы оптимизируем этот мир.
Все мои мысли можно найти в твиттере - http://twitter.com/johnnysuperb а все остальное - в моем блоге |
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
согласен с вышесказанным.
Память, которую занимал в Вашем Test (типа TTestInfo ) quests: array of TQuests будет освобождена, но вот память, которую занимал массив answer : array of TAnswers - скорее всего "повиснет в воздухе" 1) А кто Вам мешает пройти в цикле и обнулить сначала массив answer а потом уже массив quests ? примерно так: Код:
|
![]() |
![]() |
![]() |
#5 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
А вот просто ради интереса
Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Баламут, а это Вы зачем привели пример?
Речь идёт не об очистке самого динамического массива, а об очистке вложенных структур: если в этом массиве элеметы - тоже динамические массивы. Вот что тогда с памятью, которую они занимали будет?.. вот, на вашем примере: Код:
я думаю, что нет, не будет! Последний раз редактировалось Serge_Bliznykov; 09.12.2010 в 14:55. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Согласен с постом #4 - циклом по индексам пробегаетесь и все счастливы. Не сложно, всегда так делаю. Только дробите на процедурки - очистка одного элемента, очистка столбца, очистка массива и никаких проблем.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Тогда уж лучше вместо record перейти на class. Красивее будет.
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
Ага, проморгал! В этом случае действительно даже не обнулится.
Код:
Последний раз редактировалось Баламут; 09.12.2010 в 15:55. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну вот, общими усилиями и разобрались!
![]() думаю, что тема закрыта... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Содержание динамического массива | Bish | Microsoft Office Excel | 6 | 18.05.2010 15:45 |
очистка динамического массива | BattleMage | Общие вопросы C/C++ | 1 | 19.09.2009 09:03 |
Освобождение динамического массива? | VintProg | Общие вопросы Delphi | 15 | 28.08.2009 10:41 |
Сохранение динамического массива | Horus92 | Помощь студентам | 3 | 07.05.2009 12:36 |
Удаление динамического массива | Сергей089 | Общие вопросы C/C++ | 3 | 08.03.2009 13:13 |