gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 00:18:26 26 4
gpt4 key购买 nike

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

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

你能帮我吗?

最佳答案

reserve 可以通过 rehash 模拟,如 N3376 中的表 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()))

关于c++ - boost::unordered_map 缺少像 std::unordered_map 这样的 reserve(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10617829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com