Aracılığıyla paylaş


stl kapsayıcılar

Standart şablon kitaplığı (stl), birbiriyle ilişkili nesneler topluluklarını depolamak için çok kapsayıcı sağlar.Hangi nesneleri kaplarında izin verileceğini belirtmek sağlayarak tüm şablon sınıfları kaplardır.Bu konu, stl kapsayıcıları hangi kapsayıcı gereksinimleriniz için en iyi karar vermenize yardımcı olacak genel bir bakış sağlar.

İçinden seçim yapabileceğiniz iki stl kitaplık vardır: yerel stl ve stl/clr.stl/clr hakkında daha fazla bilgi için bkz: stl/clr Kitaplık Başvurusu.

stl kaplarında üç kategori, sıra kapsayıcıları, ilişkilendirilebilir kapsayıcılar ve kapsayıcı bağdaştırıcıları ayrılabilir.Bu kategoriler ve her kategoriye ait toplulukları burada özetlenmektedir.Daha ayrıntılı bilgi kapsayıcıları için başvuru belgelerinde bulunabilir.

Sıra kapsayıcı

Özgün eklenen öğeleri sıralama sırası kapsayıcı korur.Böylece kapsayıcı öğe eklemek istediğiniz yeri belirtin.

deque Hızlı eklemeler ve silmeler başında ve sonunda kapsayıcısının (çift uçlu sıra) kapsayıcı sağlar.Herhangi bir öğeyi hızlı bir şekilde de rastgele erişebilirsiniz.

list Hızlı eklemeler ve silmeler kapsayıcı herhangi bir yerindeki kapsayıcı sağlar, ancak rastgele bir öğe konteynerindeki erişemiyor.

vector Kapsayıcı bir dizi gibi davranan, ancak otomatik olarak genişlemesi gerektiği gibi.

Sıra kapsayıcıları hakkında daha fazla bilgi için aşağıdaki tabloya bakın:

Kapsayıcı

Doğal stl

STL/CLR

deque

deque Class

deque (stl/clr)

list

list Class

list (STL/CLR)

vector

vector Class

vector (STL/CLR)

İlişkilendirilebilir kapsayıcılar

Öğeleri artan şekilde sıralanmış bir önceden tanımlanmış sırayla eklenir ilişkilendirilebilir kapsayıcıları tanımlayıcı özelliğidir olur.

İlişkilendirilebilir kapsayıcıları iki alt kümeleri gruplandırılabilir: eşler ve ayarlar.A map, bazen bir sözlük başvurulan, bir anahtar/değer çiftinden oluşur.Sıra sipariş etmek için bu anahtar kullanılır ve bir şekilde bu anahtarla ilişkili değerdir.Örneğin, bir map temsil eden bir metni ve değerleri word metin görünür sayısını temsil eden benzersiz her sözcüğü tuşlarını içerebilir.A set sadece benzersiz öğelerini artan bir kapsayıcı.

Her ikisi de map ve set sadece bir anahtar veya kapsayıcıya eklenecek öğe bir örneğini izin.Öğeleri birden çok örneğini gerekli olduğunda kullanın multimap veya multiset.

Hem eşleştirir ve Destek çift yönlü Yineleyicilerde ayarlar.Yineleyicilerde hakkında daha fazla bilgi için bkz: Iterators.

stl standart olmayan resmi bir parçası sırasında hash_map ve hash_set arama süresini kısaltmak için yaygın olarak kullanılır.Bu kapsayıcılar öğelerini çift yönlü bağlantılı liste öğelerini içeren her Tablo girdisiyle karma tablo olarak depolar.Hızlı arama süreleri sağlamak için öğeleriniz için karma algoritmasını eşit olarak dağıtılmış bir karma değer döndürdüğünden emin olun.

İlişkilendirilebilir kapları hakkında daha fazla bilgi için aşağıdaki tabloya bakın:

Kapsayıcı

Doğal stl

STL/CLR

hash_map

hash_map Class

hash_map (stl/clr)

hash_multimap

hash_multimap Class

hash_multimap (stl/clr)

hash_multiset

hash_multiset Class

hash_multiset (stl/clr)

hash_set

hash_set Class

hash_set (stl/clr)

map

map Class

map (STL/CLR)

multimap

multimap Class

birden çok eşleme (stl/clr)

multiset

multiset Class

multiset (stl/clr)

set

set Class

set (STL/CLR)

Kapsayıcı bağdaştırıcıları

Sadece Yukarıdaki kap çeşidi kapsayıcı bağdaştırıcılarıdır.Kapsayıcı bağdaştırıcıları Yineleyicilerde desteklemez.

priority_queue Kapsayıcı öğe en yüksek değeri her zaman ilk sırada olacak şekilde düzenlenmiş.

queue Kapsayıcı FIFO (ilk giren ilk çıkar) semantiği aşağıdaki gibidir.Eklenen ilk (sıraya itilmiş) kaldırılacak (popped) ilk öğedir.

stack Kapsayıcı LIFO (son giren ilk çıkar) semantiği aşağıdaki gibidir.Eklenecek son öğe (yığına) kaldırılacak (popped) ilk öğedir.

Yineleyicilerde kapsayıcı bağdaştırıcıları desteği olmayan bu yana stl algoritmaları ile kullanılamaz.Algoritmalar hakkında daha fazla bilgi için bkz: Algoritmalara.

Kapsayıcı bağdaştırıcıları hakkında daha fazla bilgi için aşağıdaki tabloya bakın:

Kapsayıcı

Doğal stl

STL/CLR

priority_queue

priority_queue Class

priority_queue (stl/clr)

queue

queue Class

queue (STL/CLR)

stack

stack Class

stack (STL/CLR)

Kap öğeleri için gereksinimler

stl kapsayıcıya eklenen öğeleri ortak kopya kurucu, ortak bir yıkıcı ve ortak atama işleci sağlayan herhangi bir nesne türü olabilir.Yıkıcı bir istisna değil.Üstelik ilişkilendirilebilir kapsayıcıları gibi set ve map işleci olan ortak karşılaştırma işleci, tanımlı olmalıdır < Varsayılan olarak.Kapsayıcı üzerinde bazı işlemler de genel varsayılan bir oluşturucusu ve ortak eşdeğerlik işleci gerektirebilir.

Kap öğeleri erişme

Kap öğeleri Yineleyicilerde kullanılarak erişilir.Daha fazla bilgi için bkz. Iterators.

[!NOT]

Ayrıca Her, içinde stl Koleksiyonlar üzerinde dolaşmak için.Daha fazla bilgi için bkz. Nasıl yapılır: her stl koleksiyonu ile üzerinden yineleme.

Ayrıca bkz.

Başvuru

Standart Şablon Kütüphanesi

<sample container>