gpt4 book ai didi

c++ - 如果存在哈希,加速 c++ unordered_map 插入?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:06:42 29 4
gpt4 key购买 nike

我有一个 std::unordered_map<Foo, int>具有 Foo 的重写哈希函数。我还需要 hash(Foo) 用于其他目的,所以我想知道是否:

  1. 我可以添加一个新的 Foo foo 到映射中,其中包含 foo 的当前哈希值,保存不必要的 hash(foo) 重复调用?
  2. 或者,如果我可以将 foo 添加到 map 并获得计算出的哈希值,所以我不必再单独计算它插入操作?

最佳答案

按照 Francois 的建议,使用“什么都不做”的散列来节省额外的计算可以解决我的问题。这是我想出的,任何关于进一步加快速度的评论都将不胜感激。

struct DoNothing {
std::size_t DoNothing::operator()(const std::size_t &key) {
return key;
}
};

std::unordered_map<std::size_t, Foo, DoNothing>

关于c++ - 如果存在哈希,加速 c++ unordered_map 插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48936960/

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