私はstd::unordered_map<std::string, int> map;
次に、これに大量の要素を挿入しますが、文字列キーはすべて一意です。
次のシナリオは可能で、どのように処理されますか?
map[x] = 5;
map[y] = 3;
x
とは異なる文字列であると仮定しy
ますが、同じハッシュを生成するため、5 と 3 は同じバケットに配置されます。
値を取得しようとするとmap[x]
、マップはどのように正しい値 5 を返しますか? ハッシュx
は、2 つの要素 5、3 を含むバケットを提供しますが、比較するキー自体がないと、正しい値を取得する方法がわかりません。
私は何が欠けていますか?