2

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

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

你能帮我解决这个问题吗?

4

1 回答 1

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()))
于 2012-05-16T12:12:58.463 回答