Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизДинамические массивы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c