2

std::bitsetハッシュする、またはboost::dynamic_bitset<>Boost の順序付けられていないコンテナーの効率的な方法があるかどうか疑問に思っていますか?

std::bitset現在、ハッシュする前にorboost::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 に答える