Re: STL: multimap?
От: MaximE Великобритания  
Дата: 01.03.05 07:37
Оценка:
wrote:

> 1. Как можна при создании multimap, зарезервировать под него место, так что бы при вставке нового элемента не тратилось время на выделение памяти? Просто очень много вставок в процессе работы...


Использовать собственный allocator, который будет выделять память из превыделенного пула.

Альтернативный вариант — map_light. Использовать в качестве контейнера отсортированный vector, для поиска использовать equal_range, для вставки upper/lower_bound.

> 2. Можна ли в процессе работы менять ключ элемента? Если да, то как?


Можно, но не inplace. Удалить элемент, изменить ключ, снова вставить.

> 3. Как ускорить процесс удаления элементов, у меня в мультимапе куча стрингов и профайлер показывает что процесс удаления этих стрингов дольше выполняется чем сам процесс их обработки...


Тут варианты зависят от задачи.

--
Maxim Yegorushkin

Those who do not understand Unix are condemned to reinvent it, poorly. © Henry Spencer
Posted via RSDN NNTP Server 1.9
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.