Re: использует ли STL мой аллокатор для всех нужд по выделен
От: Bell Россия  
Дата: 25.03.08 15:54
Оценка:
Здравствуйте, volodyja, Вы писали:

V>хай всем


V>возникла такая задача — мне надо создавать небольшое дерево для поиска в нём данных, выделяя всю память из заранее выделенного пула, который небольшого размера.

V>начал рыть матчасть по аллокаторам, нашел примеры кода, в которых увидел пример использования аллокатора:

V>//! Template typedef std::map<..., PooledAllocator> to PooledList<Key, Value>::Type.

V>template<typename Key, typename Value, class Traits = std::less<Key> >
V>struct PooledMap
V>{
V> typedef std::map<Key, Value, Traits, PooledAllocator<std::pair<Key, Value> > > Type;
V>};

V>тут видно что из пула будут выделяться std::pair<Key, Value>, которые, вроде как, не будут содержать в себе полностью все служебные данные ноды дерева.

V>вопрос — как сделать так чтоб set полностью работал только с памятью из пула что я ему подсунул?

Нормальный аллокатор должен уметь это делать — ищи примеры, их есть.

V>и вообще — годится ли set для небольших деревьях в которых будет до 100 записей и по ним надо будет постоянно искать? (удалять ничё не нужно — только изредка добавлять)


На такой задаче отсортированный вектор (массив) почти со стопроцентной гарантией будет быстрее.
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.