unordered_mapC ++ ile ilgili son bir konuşma , aramanın etkinliği nedeniyle daha önce unordered_mapkullandığım çoğu durumda kullanmam gerektiğini anlamamı sağladı map( amortisör O (1) ve O (log n) ). Çoğu zaman bir harita kullanıyorum ya intda std::stringanahtar türü olarak kullanıyorum; bu nedenle, hash fonksiyonunun tanımı ile ilgili bir sorunum yok. Ne kadar çok düşünürsem, basit tiplere sahip tuşlar için bir std::mapover- in kullanmanın herhangi bir nedenini bulamadığımı fark ettim std::unordered_map- arayüzlere bir göz attım ve herhangi bir şey bulamadım kodumu etkileyecek önemli farklılıklar.
Dolayısıyla soru: kullanmak için herhangi bir gerçek neden yoktur std::mapüzerinde std::unordered_mapgibi basit tiplerinin durumunda intve std::string?
Kesinlikle programlama açısından soruyorum - tam olarak standart olarak kabul edilmediğini ve taşıma ile ilgili sorunlara yol açabileceğini biliyorum.
Ayrıca, doğru cevaplardan birinin daha küçük bir ek yük nedeniyle "daha küçük veri kümeleri için daha verimli" olabileceğini umuyorum (bu doğru mu?) - Bu yüzden soruyu miktarın tuşları önemsiz değildir (> 1.024).
Düzenleme: duh, bariz unuttum (teşekkürler GMan!) - evet, haritalar tabii ki sipariş edilir - Bunu biliyorum ve diğer nedenleri arıyorum.

