Aracılığıyla paylaş


set Class

stl container sınıfının set koleksiyonundan içerdiği öğelerin değerlerini benzersiz ve göre verileri otomatik olarak sipariş edilen anahtar değerleri hizmet veren bir veri alma ve depolama için kullanılır. Kümedeki bir öğenin değerini doğrudan değiştirilemez. Bunun yerine, eski değerleri silmeniz ve yeni değerlerle öğe eklemek gerekir.

template <
    class Key, 
    class Traits=less<Key>, 
    class Allocator=allocator<Key> 
>
class set

Parametreler

  • Key
    Set depolanmak üzere öğe veri türü.

  • Traits
    Sağlayan bir işlev nesne türünün iki öğe değerlerinin göreli sıralarına kümesi belirlemek için sıralama anahtarları olarak karşılaştırabilirsiniz. Bu bağımsız değişkeni isteğe bağlıdır ve ikili karşılaştırma az <Key> varsayılan değerdir.

  • Allocator
    Kapsüller kümesinin ayırma ve bellek ayırmayı kaldırma hakkındaki ayrıntıları 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ı*<Key>.*

Notlar

stl kümesini gösterir.

  • Hangi öğe değerlerinin verimli alınmasını destekler bir değişken boyutu kapsayıcı bir ilişkili anahtar değerine dayalı bir ilişkilendirilebilir kapsayıcı. Daha da ötesi kendi öğe değerlerinin anahtar değerlerine nedeni basit ilişkilendirilebilir bir kapsayıcı olmalarıdır.

  • Geri alınamaz, çünkü alt öğelere erişmek için çift yönlü Yineleyici 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.

  • Her biri kendi öğelerini benzersiz bir anahtar olan fikir benzersiz. Set de basit ilişkilendirilebilir kapsayıcısı olduğundan, onun da benzersiz öğelerdir.

Sağladığı işlevsellik genel ve bağımsız öğeler içerdiği verilerin belirli türde olduğundan bir dizi şablon sınıfı olarak da açıklanmıştır. Kullanılacak veri türü yerine, parametre sınıf şablonu ve karşılaştırma işlevi ve ayırıcı olarak belirtildiğinde.

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 ortalama konteynerdeki öğelerin sayısını logaritması orantılı olduğu zaman onları gerçekleştirme işlevlerdir. Öğeleri ekleme hiçbir Yineleyicilerde geçersiz kılar ve öğelerini kaldırma sırasında kaldırılan öğeler özellikle ettiği Yineleyicilerde geçersiz kılar.

Uygulama tarafından kendi anahtarlarla değerleri ilişkilendirme koşullar sağlandığında kümesi istediği ilişkilendirilebilir kapsayıcı olmalıdır. Bir dizi öğelerinin benzersiz ve kendi sıralama anahtarı olarak hizmet eder. Bir bu tür bir yapı için sıralı bir listesini, söyleyin, sözcük sözcük yalnızca bir kez oluşabilir modelidir. Birden fazla sözcük izin verilseydi, bir multiset uygun kapsayıcısının yapısı şöyle olacaktır. Daha sonra değerlerinin benzersiz anahtar sözcükler listesine eklenmiş gerekiyorsa, harita bu verileri içerecek şekilde uygun bir yapı olacaktır. Daha sonra bunun yerine anahtarlarının benzersiz değilse, bir birden çok eşleme seçim kapsayıcısı olacaktır.

Set denetlediği saklı işlevi nesne türü çağırarak sıra siparişler key_compare. Bu saklı nesne üye işlevi çağrılarak erişilebilen bir karşılaştırma işlevi olan key_comp. Genel, öğeleri herhangi bir iki öğe verilen böylece bu sırayı oluşturmak üzere yalnızca küçüktür karşılaştırılabilir olması gereğini eşdeğer (içinde her ikisi de diğer küçüktür anlam) ya da diğer daha az olduğunu da 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 yüklemi karşılaştırma işlevidir. İkili karşılaştırma f(x, y), iki bağımsız değişken nesne olan bir işlevi nesnesidir x ve y ve dönüş değeri doğru veya yanlış. İkili karşılaştırma belirtimi, irreflexive, antisymmetric ve geçişli ve eşdeğerlik geçişli ise, burada iki nesneleri sıralamaya sıkı bir zayıf olduğu bir kümesi üzerinde uygulanan sıralama x ve y ne zaman eşdeğer olarak tanımlanan her ikisi de f(x, y) ve f(y, x) yanlış. Eşdeğerlik, daha güçlü anahtarlar arasındaki eşitlik durumunu değiştirir, sipariş toplam (tüm öğelerin birbirine göre sıralanmış anlamda) haline gelir ve eşleşen anahtarları birbirinden indiscernible.

Set sınıfı tarafından sağlanan Yineleyici sınıf üye işlevlerini ancak bir çift yönlü Yineleyici olduğu Ekle ve set olan işlevselliği gereksinimlerdir çift yönlü Yineleyicilerde sınıfı tarafından garanti olandan daha az zayıf giriş Yineleyici şablona parametre olarak ele sürümlere sahip. Farklı Yineleyici kavramları, işlevlerini kullanımındaki gelişmeleri ile ilgili bir aile oluştururlar. Her Yineleyici kavramı kendi gereksinimlerine sahiptir ve bunlarla çalışmak algoritmaları varsayımlarıyla bu tür bir yineleyici tarafından sağlanan gereksinimleri sınırlandırmak gerekir. Bu başvuru giriş Yineleyici bazı bir nesneye başvuracak biçimde yapıldı olduğunu ve bunun için sıradaki sonraki Yineleyici 'er olduğunu kabul. Bu işlevselliği en az sayıda, ancak dosyası Yineleyicilerde aralığı hakkında konuşun yapabilmek için yeterli olan [_First, _Last) sınıfın üye işlevleri bağlamında.

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

set

Boş veya bir kopyasını tüm veya bazı kümesinin parçası olan bir küme oluşturur.

e8wh7665.collapse_all(tr-tr,VS.110).gifTypeDef

allocator_type

Temsil eden bir tür allocator set nesne sınıfı.

const_iterator

Çift yönlü Yineleyici o can sağlayan bir tür okumak bir const öğesinde ayarlanmış.

const_pointer

Bir işaretçi sağlayan bir tür bir const bir dizi öğesi.

const_reference

Başvuru sağlayan bir tür bir const okumak ve gerçekleştirmek için bir takım saklanan öğe const işlemleri.

const_reverse_iterator

Herhangi bir çift yönlü Yineleyici o can sağlayan bir türü okuma const öğesinde ayarlanmış.

difference_type

Yineleyicilerde göre sıralanmasını öğeler arasındaki aralığı kümesinde öğelerin sayısını temsil etmek için kullanılan imzalı tamsayı türü.

Yineleyici

Okumak veya herhangi bir öğe kümesinde değişiklik bir çift yönlü Yineleyici sağlayan bir türü.

key_compare

Sağlayan bir işlev nesne türünün iki öğe kümesinin göreli sırasını belirlemek için iki sýralama anahtarýný karşılaştırabilirsiniz.

key_type

Bir öğe sıralama anahtarı olarak kapasitesi kümesinde saklanan nesne türünü açıklar.

İşaretçi

Bir öğe kümesi içinde bir işaretçi sağlayan bir türü.

başvuru

Bir öğe kümesi içinde saklanan bir başvuru sağlar türü.

reverse_iterator

Okuma veya tersine çevrilmiş bir kümesini değiştirirseniz, çift yönlü Yineleyici sağlayan bir türü.

size_type

Bir dizi öğelerinin sayısını gösteren imzalanmamış tamsayı türü.

value_compare

Sağlayan bir işlev nesne türü kümesi içinde kendi göreli sırasını belirlemek için iki öğe karşılaştırabilirsiniz.

value_type

Bir öğe değeri olarak kapasitesi kümesinde saklanan nesne türünü açıklar.

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

başlamak

Kümedeki ilk öğe gideren bir yineleyici döndürür.

cbegin

Kümedeki ilk öğe adresleri const bir yineleyici döndürür.

cend

Son öğe kümesinde izleyen konum adresleri const bir yineleyici döndürür.

Temizle

Bir kümenin tüm öğeleri siler.

count

Parametresi belirtilen anahtarı olan anahtarla eşleşen bir kümedeki öğelerin sayısını verir.

crbegin

Tersine çevrilen kümesindeki ilk öğe adresleme const bir yineleyici döndürür.

crend

Tersine çevrilen kümesindeki son öğe izleyen konum adresleri const bir yineleyici döndürür.

emplace

Kümesi yerleştirmek için oluşturulmuş bir öğe ekler.

emplace_hint

Yerinde kümesine yerleştirme İpucu ile oluşturulmuş bir öğe ekler.

boş

Bir dizi boşsa sınar.

Son

Son öğe kümesinde izleyen konum gideren bir yineleyici döndürür.

equal_range

Yineleyicilerde çifti, belirtilen anahtar büyük bir anahtar kümesiyle ilk öğe ve anahtar'den büyük veya eşit bir anahtar kümesiyle ilk öğe için sırasıyla verir.

silme

Bir öğe veya öğeleri aralığı kümesinde belirtilen konumlardan kaldırır veya belirtilen anahtar eşleşen öğeleri kaldırır.

find

Belirtilen anahtar için eşdeğer bir anahtara sahip bir küme içindeki bir öğenin konumunu adresleme bir yineleyici döndürür.

get_allocator

Bir kopyasını verir allocator nesne kümesi oluşturmak için kullanılabilir.

Ekle

Bir öğe veya öğeleri aralığını bir dizi ekler.

key_comp

Sipariş tuşları kümesi içinde kullanılan karşılaştırma nesnenin bir kopyasını alır.

lower_bound

Belirtilen anahtar'den büyük veya eşit bir anahtarla ilk öğe kümesinde bir yineleyici döndürür.

max_size

Belirlenen en fazla uzunluğunu döndürür.

rbegin

Tersine çevrilen kümesindeki ilk öğe adresleme bir yineleyici döndürür.

rend

Tersine çevrilen kümesindeki son öğe izleyen konum gideren bir yineleyici döndürür.

boyutu

Kümedeki öğelerin sayısını döner.

takas

İki adet öğelerinin değiş tokuş eder.

upper_bound

Belirtilen anahtar büyük bir anahtar ile ilk öğe kümesinde bir yineleyici döndürür.

value_comp

Sipariş öğesi değerleri kümesi içinde kullanılan karşılaştırma nesnenin bir kopyasını alır.

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

operator =

Bir dizi öğelerinin başka bir kopyası ile değiştirir.

Gereksinimler

Başlık: <set>

Namespace: std

Ayrıca bkz.

Başvuru

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

Standart Şablon Kütüphanesi