Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизДинамический массив Найти похожие ветки
← →
stas_a (2003-01-23 17:44) [0]Эдрасьте ВСЕ!!! Подскажите пожалуйста:
Декларирую(Глобально) динамический массив
var myarr: array of boolean;
затем в коде пишу
Setlength(Myarr,1);
Такой вопрос как потом(во время выполнения программы) увеличить длинну массива на 1 без потери данных и как уменьшить с потерей последнего значения.
← →
han_malign (2003-01-23 17:53) [1]For a long-string or dynamic-array variable, SetLength reallocates the string or array referenced by S to the given length. Existing characters in the string or elements in the array are preserved, but the content of newly allocated space is undefined.
Lingvo:
Preserve -
1. сохранять [-нить];
предохранять [-нить];
заготовлять впрок (овощи и т.п.);
2. (mst pl.) консервы /pl. (a. opt.);
варенье;
заповедник
← →
MBo (2003-01-23 17:54) [2]SetLength именно так и сделает.
Частые изменения размеров массивов - не слишком хорошо.
← →
Johnmen (2003-01-23 17:55) [3]Setlength
← →
gsu (2003-01-23 17:55) [4]+ Setlength(Myarr, length(Myarr));
- Setlength(Myarr, length(Myarr)-1);
← →
stas_a (2003-01-23 17:58) [5]Спасибо ! ! ! :)
← →
han_malign (2003-01-23 18:11) [6]Частые изменения размеров массивов - не слишком хорошо.
- связные списки тоже не решают проблемы фрагментации памяти, а выделиний/отпусканий памяти даже больше, и доступ к элементам геморойный. TList и подобные тоже реалокируют память при изменении размера.
Так что никуда не деться, разве что, если известно максимальное возможное количество элементов, то лучше задать максимальный размер(все равно если к страницам(4096 б) не обращаться, винды их в свап скинут) и переменную для фактического размера.
← →
Chubais (2003-01-23 18:13) [7]han_malign © (23.01.03 17:53)
заповедник больше к этой ветке подходит...
← →
gsu (2003-01-23 18:13) [8]а в .net улучшенная сборка мусора, может ему туда ? (-:|~
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c