unordered_mapC++ では、順不同の連想コンテナー ( 、unordered_set、 など)ごとunordered_multimapにハッシュ関数を定義する必要があります。ウィキペディアで指摘されているように、
struct X{int i,j,k;};
struct hash_X{
size_t operator()(const X &x) const{
return hash<int>()(x.i) ^ hash<int>()(x.j) ^ hash<int>()(x.k);
}
};
struct hash_Xのカスタムハッシュ関数ですstruct X。しかし、この関数は何をするのでしょうか? なぜハッシュ関数が必要なのですか? 他のタイプのカスタム ハッシュ関数はありますか? もしそうなら、どのように2つのそのような機能間の効率を比較しますか.