gpt4 book ai didi

c++ - 在 boost 上从 bitset 到 bitset 的无序(哈希)映射

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:24 26 4
gpt4 key购买 nike

我想使用缓存,由 boost 的 unordered_map 实现,从 dynamic_bitsetdynamic_bitset。当然,问题在于 bitset 中没有默认的哈希函数。这似乎不像是概念性问题,但我不知道如何解决技术问题。我应该怎么做?

最佳答案

我发现了一个意想不到的解决方案。事实证明,boost 有一个选项可以#define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS。定义它时,包括 m_bits 在内的私有(private)成员将变为公共(public)成员(我认为它是用来处理旧编译器或其他东西的)。

所以现在我可以使用@KennyTM 的答案,稍微改变一下:

namespace boost {
template <typename B, typename A>
std::size_t hash_value(const boost::dynamic_bitset<B, A>& bs) {
return boost::hash_value(bs.m_bits);
}
}

关于c++ - 在 boost 上从 bitset 到 bitset 的无序(哈希)映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3896357/

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