Вниз
Скачать: 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.013 c
1-28738
weRUs
2003-01-30 03:14
2003.02.10
2 in 1: Память, дата(время)


1-28855
tytus
2003-01-29 23:23
2003.02.10
процесс


3-28666
lats
2003-01-24 09:10
2003.02.10
BDE не видит InterBase


1-28900
Fill
2003-01-29 20:43
2003.02.10
mainmenu


7-29126
Romaizdurdoma
2002-12-05 22:06
2003.02.10
Посылают ли винды сообщения о смене системной даты.?




   Наверх