Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
3-28613
River
2003-01-22 14:50
2003.02.10
Народ подскажите!


8-28933
Виктор_2
2002-10-21 17:39
2003.02.10
Как создать пустой wav-файл


1-28706
DiXO
2003-01-31 14:47
2003.02.10
Как сделать DBGrid пустым???


1-28847
Zirus
2003-02-03 05:21
2003.02.10
Колесо


1-28693
edell
2003-01-29 22:09
2003.02.10
блокировка клавы




   Наверх