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

Вниз

Оригинальный TList   Найти похожие ветки 

 
HydraMarat   (2003-05-14 18:40) [0]

Уважаемые Мастера, необходимо сделать, как бы, сквозной список. Т.е. он его элементы определяются некоторым индексом и считаются реальным, но на самом деле отсутствовать. Некоторая вариация на тему св-ва Capacity, но то вель по-любому выделит Pointer"ы, а вот как без выделения памяти обойтись? Может что посоветуете.

Спасибо!


 
clickmaker ©   (2003-05-14 18:55) [1]

А ты не удаляй объекты из списка, а просто освобождай память и присваивай соотв. эл-ту списка nil.
До тех пор пока не скажешь List.Pack, они будут в нем жить, и индексы не съедут


 
Тих   (2003-05-14 20:48) [2]

> TList, which stores an array of pointers
Вообще, лучше на torry поискать какой-нить аналог сишных map или hash_map, или самому реализовать вот такой вот РАЗРЕЖЕННЫЙ массив. Алгоритм в общем-то прост - при обращении к элементу по индесу класс-контейнер сперва проверяет, есть ли уже элемент с таким индесом в нем, если нет - создает, если есть - отдает (указатель на) ранее созданный. При помещении в него элемента - аналогично.



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
6-83638
Danger
2003-03-29 17:11
2003.05.26
TWebBrowser


14-83647
Top Gun
2003-05-01 00:06
2003.05.26
Как действует функция SetWindowLong ? Никак не пойму


4-83797
Nark
2003-03-25 22:35
2003.05.26
Перехват ALT+F4 Delphi приложением


3-83365
Dimedrol
2003-05-05 23:31
2003.05.26
GBAK и UDFs


3-83344
Seven
2003-05-05 06:54
2003.05.26
Upper в Interbase