gpt4 book ai didi

c++ - 使用键值对为零的 k 个桶初始化 c++14 unordered_map

转载 作者:行者123 更新时间:2023-11-30 04:46:29 25 4
gpt4 key购买 nike

我正在尝试创建一个具有最小初始桶数 (k) 的 unordered_map,所有键值对都初始化为零。稍后,它应该进入 for 循环并打印值。

int someFunction(int k){
unordered_map<int, int> majority(k, {0,0});
}

for(auto m : majority){
cout << m.first << " " << m.second << " \n";
}

我得到以下编译(c++ 14)错误:

no matching function for call to ‘std::unordered_map<int, int>::unordered_map(int&, <brace-enclosed initializer list>)

有什么办法可以实现吗?

最佳答案

unordered_map 表示哈希数据结构。根据散列定义,每个键都必须是唯一的。所以你不能用几个零 int 键来初始化 majority。相反,您可以使用保留功能:

void reserve ( size_type n );

Request a capacity change

Sets the number of buckets in the container (bucket_count) to the most appropriate to contain at least n elements.

If n is greater than the current bucket_count multiplied by the max_load_factor, the container's bucket_count is increased and a rehash is forced.

If n is lower than that, the function may have no effect.

关于c++ - 使用键值对为零的 k 个桶初始化 c++14 unordered_map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56718255/

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