Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Динамические массивы   Найти похожие ветки 

 
LongIsland ©   (2003-01-31 16:19) [0]

Существует ли какая-либо принципиальная разница между такими формами записи:
если
var
A: array of TSomeType;

то
A:=nil;
или же
SetLength(A, 0);
???


 
Jel ©   (2003-01-31 16:34) [1]

Думаю да.

В первом случае указатель на кусок памяти, выделенный компилятором под массив будет потерян и освободится только при завершении программы.

Во втором случае будет изменен размер выделенного участка памяти, а освободившаяся память будет сразу возвращена системе.


 
LongIsland ©   (2003-01-31 16:41) [2]

:-)
> выделенный компилятором под массив будет потерян и освободится
> только при завершении программы

То есть плодимся и размножаемся:-)

Хорошо. А возможен ли случай, когда первый случай предпочтительнее?


 
uw ©   (2003-01-31 17:23) [3]

Topic Dynamic arrays

Dynamic-array variables are implicitly pointers and are managed by the same reference-counting technique used for long strings. To deallocate a dynamic array, assign nil to a variable that references the array or pass the variable to Finalize; either of these methods disposes of the array, provided there are no other references to it. Dynamic arrays of length 0 have the value nil. Do not apply the dereference operator (^) to a dynamic-array variable or pass it to the New or Dispose procedure.



 
LongIsland ©   (2003-01-31 17:47) [4]


> uw © (31.01.03 17:23)

А я все думаю, где я это видел?:-)

Соррррри, пятница - день тяжелый, тяжелее понедельника:-)

СПАСИБО!



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-28913
denis24
2003-01-31 09:24
2003.02.10
массив с именами файлов


1-28830
mate
2003-02-02 12:37
2003.02.10
String , Upper и Lower


14-29093
Kair
2003-01-25 12:50
2003.02.10
У меня вопрос


14-29099
Думкин
2003-01-25 10:32
2003.02.10
Думкин день


1-28904
Explorer
2003-01-30 08:42
2003.02.10
Градиент фона