Re[2]: STL: multimap?
От: Аноним  
Дата: 01.03.05 07:51
Оценка: :)
Здравствуйте, MaximE, Вы писали:

ME>wrote:


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


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


Весело... Еще менеджер памяти самому писать


ME>Альтернативный вариант — map_light.

А где он этот map_light?

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


А разве такой есть, что то не могу вспомнить...


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


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


Так и делаю по сути, но что мне это не нравится...

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


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


Я и сам не могу понять, почему delete всех элементов так долго работает, помоему delete должна быть очень простой операцией...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.