2

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

我目前在对它们进行散列之前先转换std::bitsetboost::dynamic_bitset<>转换std::string,但这似乎会很慢。

有没有更好的办法?

4

1 回答 1

4

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

对于提升,您应该使用 config:#define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS然后该dynamic_bitset::m_bits成员变为公开,您可以对其进行哈希处理。

于 2012-09-07T10:55:15.603 回答