Максимальный размер моей коллекции (unordered_map) известен заранее, поэтому я хочу зарезервировать память при запуске для оптимизации. Работает ли член reserve()
достичь этой цели? Документация говорит, что зарезервирует нужное количество сегментов, содержащих N элементов. Означает ли это, что он зарезервирует пространство для N элементов и будет их использовать до тех пор, пока на карте не будет больше N элементов? Целью является кэширование LRU, поэтому элемент должен быть удален до добавления нового. Я просто хочу убедиться, что память используется повторно, когда erase_element()
сопровождается insert_newelement()
,
Да. станд: unordered_map имеет функцию-член резерв() именно для этой цели.
Других решений пока нет …