質問

最近、C ++でのハッシュマップの実装が unordered_map と呼ばれることを発見しました。

なぜ hash_map を使用していないのかを調べたところ、 horder_map という hash_map の実装に互換性の問題があることがわかったcode>が解決します(詳細についてはこちら)。

このwikiページではこれ以上の情報は得られないため、 unordered_map が解決する hash_map の問題を誰かが知っているのではないかと思います。

役に立ちましたか?

解決

C ++標準ライブラリにはハッシュテーブルが定義されていないため、標準ライブラリの異なる実装者は、 hash_map という名前の非標準ハッシュテーブルを提供します。これらの実装は標準に従って書かれていないため、機能とパフォーマンスの保証に微妙な違いがありました。

C ++ 11 で始まるハッシュテーブルの実装が追加されましたC ++標準ライブラリ標準。クラスに別名を使用して、これらの非標準の実装との衝突を防ぎ、コードに hash_table を持っている開発者が誤って新しいクラスを使用しないようにすることが決定されました。

選択された代替名は unordered_map です。これは、クラスのマップインターフェイスとその要素の順序付けされていない性質を暗示しているため、実際によりわかりやすいです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top