Aracılığıyla paylaş


multimap Class

Standart Şablon Kütüphanesi multimap sınıfı, veri değeri ve sıralama anahtarı olan bir çift olduğu her öğe koleksiyondan veri alma ve depolama için kullanılır. Anahtarın değerini benzersiz olması gerekmez ve verileri otomatik olarak sipariş etmek için kullanılır. Bir birden çok eşleme içinde öğe değerinin, ancak değil ilişkili anahtar değerini, doğrudan değiştirilebilir. Bunun yerine, eski öğelerle ilişkili anahtar değerleri silinir ve yeni anahtar değerleri eklenen yeni öğelerle ilişkili olması gerekir.

template <
   class Key, 
   class Type, 
   class Traits=less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class multimap

Parametreler

  • Tuş
    Birden çok eşleme içinde depolanan anahtar veri türü.

  • Tür
    Birden çok eşleme depolanmak üzere öğe veri türü.

  • Traits
    Sağlayan bir işlev nesnesi türü birden çok eşleme kendi göreli sırasını belirlemek için sıralama anahtarları olarak iki öğe değerleri karşılaştırabilirsiniz. İkili karşılaştırma daha az*<Key>* varsayılan değerdir.

  • Allocator
    Harita 's ayırma ve bellek ayırmayı kaldırma hakkındaki ayrıntıları saklar saklı ayırıcı nesnesini gösteren türü. Bu bağımsız değişkeni isteğe bağlıdır ve varsayılan değer olan ayırıcı*<*pair *<*const anahtar, yazın > >.

Notlar

stl multimap sınıfı

  • Değişken boyutu kapsayıcı öğe değerlerinin verimli alınmasını destekleyen bir ilişkili anahtar değerine dayalı bir ilişkilendirilebilir container.

  • Geri alınamaz, çünkü onun öğelerine erişmek için çift yönlü yineleyiciler sağlar.

  • Sıralanmış, çünkü kendi öğeleri belirtilen karşılaştırma işlevi uygun olarak kapsayıcı içindeki anahtar değerlerine göre sıralanır.

  • Birden çok, böylece birçok öğe veri değerleri kendisiyle ilişkilendirilmiş bir anahtar değeri olabilir öğelerini benzersiz bir anahtar olması gerekmez çünkü.

  • İlişkilendirilebilir çifti kapsayıcı öğe veri değerlerini anahtar değerleri birbirinden farklı olduğundan.

  • Bir şablon sınıfı işlevlerini sağladığından, genel ve böylece bağımsız olarak belirli öğelerini veya anahtarları olarak yer alan veri türü. Öğeleri ve anahtarları için kullanılacak veri türleri yerine, parametre sınıf şablonu birlikte karşılaştırma işlevi ve ayırıcı olarak belirtilir.

Map sınıfı tarafından sağlanan sınıf üye işlevlerini ancak bir çift yönlü Yineleyici yineleyicidir Ekle ve birden çok eşleme olan işlevselliği gereksinimleri çift yönlü yineleyiciler sınıfı tarafından garanti olandan daha az zayıf giriş Yineleyici, şablon parametresi ele sürümlere sahip. Bir aile tarafından iyileştirme işlevlerine içinde ilgili farklı Yineleyici kavramları oluştururlar. Her Yineleyici kavramı kendi gereksinimlerine sahiptir ve bunlarla algoritmaları varsayımlarıyla Yineleyici türü tarafından sağlanan gereksinimlerine sınırlamak gerekir. Bu, bazı nesnesine başvurmak için bir giriş Yineleyici veta ve bunun için sıradaki sonraki Yineleyici 'er olduğunu kabul. Bu işlevselliği en az sayıda, ancak satıcının yineleyiciler bir dizi hakkında konuşmak yapabilmek için yeterli olan [_First, _Last) sınıfının üye işlevleri bağlamında.

Kapsayıcı türü seçimi genel arama türüne göre ve uygulama tarafından gerekli ekleme. İlişkilendirilebilir kapsayıcıları arama, ekleme ve kaldırma işlemleri için optimize edilmiştir. Bu işlemler açıkça destekleyen üye verimli logaritması konteynerdeki öğelerin sayısını orantılı ortalama bir saat içinde gerçekleştirilmeden işlevlerdir. Öğeleri ekleme yok yineleyiciler geçersiz kılar ve yalnızca özellikle sırasında kaldırılan öğeleri işaret ettiği yineleyiciler öğeleri kaldırma geçersiz kılar.

Birden çok eşleme uygulama tarafından kendi anahtarlarla değerleri ilişkilendirme koşullar karşılandığında istediği ilişkilendirilebilir kapsayıcı olmalıdır. Bir bu tür bir yapı için anahtar sözcükler ile ilişkili dize değerleri sağlayan, say, tanımları, sıralı bir listesini burada sözcükleri her zaman benzersiz olarak tanımlanmamış modeldir. Daha sonra benzersiz anahtarlar, bunun yerine, anahtar sözcükleri benzersiz olarak tanımlanmış olan, bir harita kapsayıcısını seçim olacaktır. Sonra diğer taraftan, yalnızca sözcüklerin listesini depolanmakta, bir kapsayıcı doğru olacaktır. Sonra birden fazla sözcük izin verilseydi, bir Kü uygun kapsayıcı yapıyı olacaktır.

Birden çok eşleme sırasını denetler saklı işlev nesne türü çağırarak siparişleri key_compare. Bu saklı nesne üye işlevini çağırarak erişilebilen bir karşılaştırma işlevi olan key_comp. Genel olarak, öğeleri yalnızca küçüktür bu sırayı oluşturmak üzere karşılaştırılabilir olması: herhangi iki öğe verilen böylece, onu eşdeğer (içinde her ikisi de diğer değerinden küçük anlamda) ya da diğer daha az olduğunu belirlenebilir. Bu bir nonequivalent öğeleri sıralamada sonuçlanır. Daha fazla Teknik Not üzerinde katı bir zayıf standart matematiksel anlamda sipariş işleminiz ikili bir karşılaştırma karşılaştırma işlevidir. İkili karşılaştırma f(x, y), iki bağımsız değişken nesneleri olan bir işlev nesnesi x ve y ve dönüş değeri true veya false. İkili karşılaştırma dönüşsüz, ters ve geçişli ve eşdeğerlik geçişli, iki yerde nesneleri sıralamaya sıkı bir zayıf olduğu bir kümesi üzerinde uygulanan sıralama x ve ne zaman eşdeğer olarak tanımlanmış y hem de f(x, y) ve f(y, x) yanlış ise. Anahtarlar arasındaki eşitlik daha güçlü durumu, eşdeğerlik geçiyorsa, sıralama (birbirlerine göre sıralanmış tüm öğeleri algılama) cinsinden toplam haline gelir ve eşleşen anahtarları birbirinden indiscernible.

Üyeler

1ka6hya8.collapse_all(tr-tr,VS.110).gifOluşturucular

birden çok eşleme

Oluşturan bir multimap yani boş veya diğer bir deyişle bir kopyası tüm veya bazı diğer parçası multimap.

1ka6hya8.collapse_all(tr-tr,VS.110).gifTür tanımları

allocator_type

Temsil eden bir tür allocator için sınıf multimap nesne.

const_iterator

Çift yönlü Yineleyici, can sağlayan bir tür okuma bir const öğesinde multimap.

const_pointer

Bir işaretçi sağlayan bir tür bir const öğesinde bir multimap.

const_reference

Bir başvuru sağlayan bir tür bir const öğesinde depolanan bir multimap okumak ve gerçekleştirmek için const işlemleri.

const_reverse_iterator

Herhangi bir çift yönlü Yineleyici, can sağlayan bir tür okuma const öğesinde multimap.

difference_type

İşaretli tamsayı türü öğelerinin sayısını temsil etmek için kullanılan bir multimap yineleyiciler göre sıralanmasını öğeler arasındaki aralık.

Yineleyici

Öğeleri aynı içinde başvuran iki yineleyiciler arasındaki fark sağlayan bir türü multimap.

key_compare

Göreli iki öğelerin sırasını belirlemek için iki sýralama anahtarýný karşılaştıran işlev nesne sağlayan bir türü multimap.

key_type

Her bir öğesi oluşturan sıralama anahtar nesneyi tanımlayan bir tür multimap.

mapped_type

Depolanan veri türünü temsil eden bir tür bir multimap.

İşaretçi

Bir işaretçi sağlayan bir tür bir const öğesinde bir multimap.

başvuru

Depolanan bir öğeye başvuru sağlayan bir tür bir multimap.

reverse_iterator

Çift yönlü Yineleyici sağlayan bir tür okuma veya bir öğe tersine çevrilmiş bir değişiklik multimap.

size_type

Bir işaretçi sağlayan bir işaretsiz tamsayı türü bir const öğesinde bir multimap.

value_type

İki öğe kendi göreli sırada belirlemek için sıralama anahtarları olarak karşılaştırabilirsiniz bir işlev nesnesi sağlayan bir türü multimap.

1ka6hya8.collapse_all(tr-tr,VS.110).gifÜye işlevleri

başlamak

İlk öğe adresleme bir yineleyici döndürür multimap.

multimap::cbegin

İlk öğe adresleme const bir yineleyici döndürür multimap.

multimap::cend

İzleyen'deki son öğe konumu gideren bir const Yineleyici döndürür bir multimap.

Temizle

Tüm öğeleri siler bir multimap.

count

İçindeki öğelerin sayısını verir bir multimap parametresi tarafından belirtilen anahtar anahtar eşleşir.

multimap::crbegin

İlk öğe tersine çevrilmiş bir adresleme const bir yineleyici döndürür multimap.

multimap::crend

Tersine çevrilmiş bir'deki son öğe izleyen konum gideren bir const Yineleyici döndürür multimap.

multimap::emplace

Yerlerine içinde yapılandırılan bir öğe ekler bir multimap.

multimap::emplace_hint

Yerlerine içinde yapılandırılan bir öğe ekler bir multimap, bir yerleşimi İpucu ile

boş

Testleri, bir multimap boş.

Son

İzleyen'deki son öğe konumu gideren bir yineleyici döndürür bir multimap.

equal_range

Öğenin anahtarı belirtilen değerle eşleştiği aralığı öğeleri bulur.

silme

Bir öğe veya öğeleri aralığı kaldırır bir multimap belirtilen pozisyonları veya belirtilen anahtar eşleşen öğeleri kaldırır.

find

İlk öğeye konumunu adresleme bir yineleyici döndürür bir multimap , belirtilen anahtar için eşdeğer bir anahtara sahip.

get_allocator

Bir kopyasını verir allocator nesne oluşturmak için kullanılan multimap.

Ekle

Bir öğe veya öğe aralığı ekler bir multimap.

key_comp

Sipariş anahtarları için kullanılan karşılaştırma nesnenin bir kopyasını alır bir multimap.

lower_bound

İlk öğe için bir yineleyici döndürür bir multimap , belirtilen anahtar daha büyük veya eşit olan bir anahtara sahip.

max_size

En fazla uzunluğunu döner multimap.

rbegin

İlk öğe tersine çevrilmiş bir adresleme bir yineleyici döndürür multimap.

rend

Tersine çevrilmiş bir'deki son öğe izleyen konum gideren bir yineleyici döndürür multimap.

boyutu

İçindeki öğelerin sayısını verir multimap.

takas

İki öğe değişimi multimaps.

upper_bound

İlk öğe için bir yineleyici döndürür bir multimap , belirtilen anahtar büyük bir anahtarla.

value_comp

Üye işlevi öğelerin sırasını belirleyen bir işlevi nesnesi döndüren bir multimap anahtar değerleri karşılaştırarak.

1ka6hya8.collapse_all(tr-tr,VS.110).gifİşleçler

multimap::operator=

Öğeleri değiştirir bir multimap başka bir kopyası ile multimap.

Gereksinimler

Başlık: <map>

Ad alanı: std

(Anahtar, değeri) çiftleri bir birden çok eşleme içinde depolanmış olan nesne türü pair. <map> Tarafından otomatik olarak dahil <utility> başlık çifti sınıf gerektirir.

Ayrıca bkz.

Başvuru

Standart C++ Kitaplığı'nda iş parçacığı güvenliği

Standart Şablon Kütüphanesi

Diğer Kaynaklar

multimap üyeler

<map> Üyeler

Üstbilgi dosyaları