9
std::unordered_set<my_type> my_set;

ここで my_type が満たさなければならない要件はどれですか? (std::hash の特殊化に加えて)

4

1 に答える 1

9

std :: hashの特殊化が必要であり、ハッシュ衝突を処理するために定義された演算子==が必要です。

編集:STLコンテナーには値のセマンティクスがあるため、型にコピーコンストラクターがあることを確認する必要があります(またはコンパイラーにコピーコンストラクターを生成させます)。

EDIT2:これを行う方法の例として、この他のSO回答を確認できます。

于 2012-03-29T14:20:29.700 に答える