![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как правильно освобождать память от динамического массива? [D7]
SkyN © (2008-10-21 15:46:00)Есть
type
tDA=array of record
A: array of integer;
B: array of integer;
end;
Как правильно освобождать память от него? Достаточно переменной присвоить nilили надо сначала присвоить nilвсем Aи B
Сергей М. (2008-10-21 21:08:00) [1]
> сейчас речь идёт о написании метода Clear.
Сей спич в сём контексте лишен смысла.
Тын-Дын (2008-10-21 21:04:00) [2]
> Достаточно переменной присвоить nil
Sapersky (2008-10-21 20:47:00) [3]или надо сначала присвоить nil всем A и B
Не надо, при условии, что вложенные A и B - это т.н. типы с управляемым временем жизни - дин. массивы, строки, варианты, интерфейсы. Впрочем, если трудно запомнить и есть опасения перепутать с классами и обычными указателями - можно каждую динамическую переменную прибивать индивидуально, хуже не будет.
Сохранить куда-либо или прочитать откуда-либо без плясок - не получится.
Ну есть методы на самом деле... впрочем, поклоннику классов и "правильного" программирования их рекламировать бесполезно :)
Anatoly Podgoretsky (2008-10-21 16:58:00) [4]Для освобождение памяти метод Clear не нужен, можно и грязную память освобождать.
Кто мешает написать тестовый пример, в длинном цикле задавать и разрушать, контролируя память по диспетчеру задач. И это будет тебе полезнее, поскольку запомнишь на всю жизнь.
Vlad Oshin (2008-10-21 16:39:00) [5]судя как происходит в отладчике -
> Достаточно переменной присвоить nil
SkyN (2008-10-21 16:33:00) [6]Переменная данного типа является закрытым полем класса, и сейчас речь идёт о написании метода Clear.
Ega23 (2008-10-21 16:02:00) [7]Вот объясните мне - нафига нужны такие рекорды? Сохранить куда-либо или прочитать откуда-либо без плясок - не получится.
Делай класс с методами.