![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.09.2013
Сообщений: 21
|
![]()
допустим у меня есть класс, в котором есть поле типа L:TList. В констукторе этого класса я создаю его L:=TList.Create;
вопрос: нужно ли освобождать память в деструкторе L.free или это происходит автоматически? |
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 14.02.2013
Сообщений: 222
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Что в них непонятного? Просто не освободится память.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 09.09.2013
Сообщений: 21
|
![]()
ок, тогда еще один вопрос. Например у меня есть список TList, я хочу добавить в этот список указатели на рекорды
TMyrecord=record x:integer; y:integer; end; PMyRecord=^TMyRecord; я делаю это следующим образом procedure Myproc; var P:PMyRecord; L:TList; begin L:=TList.Create; New(P); P.x:=5; P.y:=10; L.add(P); end; При удалении списка L достаточно ли мне просто сделать L.clear или надо пробежаться по всем записям и сделать dispose? for i:= 0 to List.count-1 do Dispose(PMyRecord(L[i])); |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
пробежаться по всем записям. List на автомате не освобождает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#8 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Запомните кто намусорил, тот и убирает.
А ещё лучше, где намусорил там и убираешь. Так что Dispose вам надо делать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
![]() |
![]() |
![]() |
#9 | |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,799
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А TObjectList может и сам освобождать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
с++ проблемма в деструкторе | proef | Помощь студентам | 2 | 23.10.2013 13:19 |
Как лучше всего освобождать созданные в потоке объекты? | TwiX | Общие вопросы Delphi | 2 | 13.03.2010 21:27 |
Освобождать динамические процедуры. | Alex Cones | Общие вопросы Delphi | 4 | 28.01.2010 17:30 |
Нужно ли очишать память ... | mrandrey | Общие вопросы Delphi | 2 | 15.06.2007 20:51 |