boost :: unordered_map缺少像std :: unordered_map这样的reserve()

Abr*_*ile 2 c++ unordered-map boost-unordered

对于我的下一个任务,我需要使用一个非常大的哈希; 因为我有一个旧的编译器,我不能使用C++ 0x std::unordered_map.理想情况下,我需要的是reserve提前为大量物品腾出空间.我找不到这种方法boost::unordered_map:是否有任何地方或功能达到同样的目的?

2个关联容器是相同的; 我可以看到rehash函数和用于控制存储桶数量的相同构造函数,但不能看到有关许多元素的函数.

你能帮帮我吗?

pmr*_*pmr 6

reserve可以通过rehashN3376中的表103来模拟.

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()))
Run Code Online (Sandbox Code Playgroud)