c++ - 对 Boost 的无序容器进行 `std::bitset` 或 `boost::dynamic_bitset<>` 的高效哈希

标签 c++ hash bitset boost-dynamic-bitset boost-unordered

我想知道是否有一些有效的方法来散列 std::bitsetboost::dynamic_bitset<>对于 Boost 的无序容器?

我目前正在转换 std::bitsetboost::dynamic_bitset<>std::string首先在对它们进行哈希处理之前,但这似乎会很慢。

还有更好的办法吗?

最佳答案

C++11 要求标准库具有 std::hash<std::bitset>专门。 IOW 它应该已经有哈希值了。

为了提升你应该使用配置:#define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS然后dynamic_bitset::m_bits成员变为公开,您可以对其进行哈希。

关于c++ - 对 Boost 的无序容器进行 `std::bitset` 或 `boost::dynamic_bitset<>` 的高效哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12314763/

相关文章:

java - QProcess 不启动 java 应用程序

c++ - 基类能否知道派生类是否覆盖了虚方法?

algorithm - 加密算法和按位奇偶校验

mysql - 如何将 BINARY(4) 转换为整数

c++ - STL 位集移位运算符导致段错误

c++ - Swig 在命名空间别名上给出 "unknown namespace"错误

c++ - 在 C++ 中实现进度可视化

c# - 将字符串映射到整数的哈希

Java BitSet 奇怪的行为

c++ - 使用 std::bitset