boost::unordered_map отсутствует Reserve(), как std::unordered_map
Для моей следующей задачи мне нужно использовать очень большой хэш; так как у меня есть старый компилятор, я не могу использовать C++0x std::unordered_map
, В идеале мне нужно позвонить reserve
освободить место заранее для большого количества предметов. Я не могу найти этот метод в boost::unordered_map
: есть ли место или функция, которая достигает того же?
2 ассоциативных контейнера одинаковы; я могу видеть rehash
функция и тот же конструктор для управления количеством сегментов, но не функция для ряда элементов.
Вы можете помочь мне с этим?
1 ответ
Решение
reserve
может быть подражать rehash
как в таблице 103 в N3376.
a.rehash(n)
Post: a.bucket_count() > a.size() / a.max_load_factor()
and a.bucket_count() >= n.
a.reserve(n) Same as a.rehash(ceil(n / a.max_load_factor()))