Aracılığıyla paylaş


unordered_map Class

Şablon sınıfını türdeki öğeleri değişen uzunlukta sırasını denetleyen bir nesneyi tanımlayan std::pair<const Key, Ty>.Sıra sıra demetleri adlı sıraları sıralı bir dizi içine bölümleri bir karma işlev tarafından sipariş edilen korunmayan.Her Kova içinde bir karşılaştırma işlevi öğeleri herhangi bir çiftinin eşdeğer sıralamaya sahip olup olmadığını belirler.Her öğe, iki nesne, sıralama anahtarı ve değeri depolar.Sırayı temsil arama, ekleme ve kaldırma (sabit süre) sýradaki öðeler sayısının bağımsız işlemlerinin sayısı ile rasgele bir öğenin izin veren bir şekilde en az tüm demetleri olduğunda kabaca eşit uzunluğu.Tüm öğelerin bir sepet içinde olduğunda en kötü durumda, işlem sayısı (doğrusal saati) sýradaki öðeler sayısı orantılıdır.Üstelik, bir öğe ekleme yok Yineleyicilerde geçersiz kılar ve öğenin kaldırılması, kaldırılan öğeye işaret Yineleyicilerde geçersiz kılar.

template<class Key,
    class Ty,
    class Hash = std::hash<Key>,
    class Pred = std::equal_to<Key>,
    class Alloc = std::allocator<std::pair<const Key, Ty> > >
    class unordered_map;

Parametreler

Parametre

Description

Key

Anahtar türü.

Ty

Eşlenen türü.

Hash

Karma işlev nesne türü.

Pred

Eşitlik karşılaştırma işlevi nesne türü.

Alloc

Ayırıcı sınıf.

Üyeler

Tür tanım

Description

unordered_map::allocator_type

Depolama yönetmek için bir ayırıcı yazın.

unordered_map::const_iterator

Denetlenen sırası için sabit bir yineleyici türü.

unordered_map::const_local_iterator

Denetlenen sırası için sabit sepet Yineleyici türü.

unordered_map::const_pointer

Bir öğe için sabit bir işaretçi türü.

unordered_map::const_reference

Bir öğeyi sabit başvuru türü.

unordered_map::difference_type

İki öğe arasında imzalanmış bir mesafe yazın.

unordered_map::hasher

Karma işlevi türü.

unordered_map::iterator

Denetlenen sırası için bir yineleyici türü.

unordered_map::key_equal

Karşılaştırma işlevi türü.

unordered_map::key_type

Bir sıralama anahtarı yazın.

unordered_map::local_iterator

Denetlenen sırası için bir demet Yineleyici türü.

unordered_map::mapped_type

Her anahtar ile ilişkili eşleştirilmiş bir değer türü.

unordered_map::pointer

Bir öğe için bir işaretçi türü.

unordered_map::reference

Bir öğe için bir başvuru türü.

unordered_map::size_type

İki öğe arasındaki imzalanmamış bir mesafe türü.

unordered_map::value_type

Bir öğe türü.

Üye işlevi

Description

hash_map::begin

Bir öğe belirtilen anahtarla bulur.

unordered_map::begin

Denetlenen sıra başlangıcını belirtir.

unordered_map::bucket

Sepet numarası için bir anahtar değeri alır.

unordered_map::bucket_count

Demetleri sayısını alır.

unordered_map::bucket_size

Toplama alanı boyutunu alır.

hash_map::begin

Denetlenen sıra başlangıcını belirtir.

hash_map::begin

Denetlenen bitişinde atar.

unordered_map::clear

Tüm öğeleri kaldırır.

unordered_map::count

Belirtilen anahtar eşleşen öğe sayısını bulur.

hash_map::begin

Yerde oluşturulmuş bir öğe ekler.

hash_map::begin

İpucu ile bir yerde oluşturulmuş bir öğe ekler.

unordered_map::empty

Herhangi bir öğe olup olmadığını sınar sunar.

unordered_map::end

Denetlenen bitişinde atar.

unordered_map::equal_range

Belirtilen anahtar eşleşen aralığı bulur.

unordered_map::erase

Belirtilen konumlarda öğelerini kaldırır.

unordered_map::find

Belirtilen anahtar eşleşen öğe bulur.

unordered_map::get_allocator

Saklı ayırıcı nesnesini alır.

unordered_map::hash_function

Depolanmış karma işlevi nesnesi alır.

unordered_map::insert

Öğeleri ekler.

unordered_map::key_eq

Saklı karşılaştırma işlevi nesnesi alır.

unordered_map::load_factor

Sepet başına ortalama öğeleri sayar.

unordered_map::max_bucket_count

Demetleri en fazla sayısını alır.

unordered_map::max_load_factor

Alır veya sepet maksimum öğelerini ayarlar.

unordered_map::max_size

Denetlenen sırasının en büyük boyutunu alır.

unordered_map::rehash

Karma tablo oluşturur.

unordered_map::size

Öğelerin sayısını sayar.

unordered_map::swap

İki kapsayıcı içeriğini değiştirir.

unordered_map::unordered_map

Bir kapsayıcı nesnesi oluşturur.

İşleç

Description

unordered_map::operator[]

Bulur veya belirtilen anahtarla bir öğe ekler.

hash_map::begin

Karma tablosuna kopyalar.

Notlar

Nesne denetlediği iki saklı nesneleri, bir karşılaştırma işlevi nesne türü çağırarak sıra siparişler unordered_map::key_equal ve bir karma işlev nesne türü unordered_map::hasher.Üye işlevini çağırarak ilk saklı nesne erişim unordered_map::key_eq(); üye işlevini çağırarak ikinci saklı nesneye erişmek ve unordered_map::hash_function().Özellikle, tüm değerleri için X ve Y türü Key, çağrı key_eq()(X, Y) yalnızca iki bağımsız değişken değerleri olarak eşdeğer sıralama; varsa true döndürür Çağrı hash_function()(keyval) dağıtım türündeki değerler üretir size_t.Şablon sınıfıyla aksine unordered_multimap Class, şablon sınıfın bir nesnesi unordered_map garantiler key_eq()(X, Y) her zaman kontrollü sıra iki herhangi bir öğe için false olur.(Anahtar benzersizdir.)

Nesne öğelerini sepet başına ortalama sayısı en fazla istenen belirten en fazla Yük faktörü de depolar.Bir öğe ekleme neden olursa unordered_map::load_factor() en ağır yük faktörü aşmak için konteyner demetleri sayısını artırır ve gerektiğinde karma tablo oluşturur.

Denetlenen sýradaki öðeler gerçek sırasını karma işlevi, karşılaştırma işlevi, ekleme sırası, en ağır yük faktörü ve sepetleri sayısı bağlıdır.Genel olarak denetlenen sýradaki öðeler sırasını tahmin edemezsiniz.Her zaman, ancak herhangi bir alt kümesini sıralama eşdeğer olan öğeler denetlenen sırayla bitişik emin olabilir.

Nesne ayırır ve saklı ayırıcısı nesne türü ile denetlediği sıra depolama boşaltır unordered_map::allocator_type.Böyle bir ayırıcı nesne olarak şablon sınıfın bir nesnesi aynı dış arabirimi olmalıdır allocator.Kap nesnesine atandığında saklı ayırıcı nesnesini kopyalanmaz unutmayın.

Gereksinimler

Başlık: <unordered_map>

Namespace: std

Ayrıca bkz.

Başvuru

<unordered_map>

unordered_map Class

Diğer Kaynaklar

<unordered_map> Üyeler