12
簡単なキーの場合にunordered_mapよりもmapを使用する利点はありますか?
unordered_mapC ++での最近の話で、ルックアップの効率性(償却済みのO(1)とO(log n))のため、以前に使用unordered_mapしたほとんどの場合に使用する必要があることに気付きました。ほとんどの場合、マップを使用します。または、キータイプとしてまたはを使用します。したがって、ハッシュ関数の定義に問題はありません。考えれば考えるほど、単純なタイプのキーの場合にオーバーを使用する理由が見つからないことに気付きました。インターフェースを調べたところ、何も見つかりませんでした。私のコードに影響を与える重要な違い。mapintstd::stringstd::mapstd::unordered_map そこで質問:使用する任意の本当の理由があるstd::map以上std::unordered_mapのような単純なタイプの場合intとはstd::string? 私は厳密にプログラミングの観点から質問しています。これは完全に標準とは見なされておらず、移植に問題が発生する可能性があることを知っています。 また、正しい答えの1つは、オーバーヘッドが小さいため、「データセットが小さいほど効率的である」と思われます(それは本当ですか)。したがって、質問の量がキーは自明ではありません(> 1 024)。 編集: ああ、私は明白なことを忘れました(GManに感謝します!)-はい、もちろん地図は注文されています-私はそれを知っており、他の理由を探しています。