C ++ Kitaplığı - <vector>

Giriş

Vektörler, boyutu değiştirebilen sıra kapsayıcılarıdır. Konteyner, aynı türdeki verileri tutan nesnelerdir. Sıra kapları, öğeleri kesinlikle doğrusal sırayla depolar.

Vector öğeleri bitişik bellek konumlarında depolar ve alt simge işleci [] kullanarak herhangi bir öğeye doğrudan erişim sağlar. Diziden farklı olarak vektör, çalışma zamanında gerektiği gibi küçülebilir veya genişleyebilir. Vektörün depolanması otomatik olarak yapılır.

Çalışma zamanında küçültme ve genişletme işlevini desteklemek için, vektör kapsayıcı, olası büyümeyi karşılamak için bir miktar fazladan depolama ayırabilir, böylece kap, boyuttan daha büyük gerçek kapasiteye sahip olur. Bu nedenle, diziye kıyasla vektör, depolamayı yönetme ve verimli bir şekilde dinamik olarak büyüme yeteneği karşılığında daha fazla bellek tüketir.

Sıfır boyutlu vektörler de geçerlidir. Bu durumda vector.begin () ve vector.end () aynı konumu gösterir. Ancak front () veya back () çağırma davranışı tanımsızdır.

Tanım

Aşağıda <vector> başlık dosyasından std :: vector tanımı bulunmaktadır.

template < class T, class Alloc = allocator<T> > class vector;

Parametreler

  • T - İçerdiği öğenin türü.

    T, kullanıcı tanımlı tür dahil olmak üzere herhangi bir başka veri türü ile ikame edilebilir.

  • Alloc - Ayırıcı nesnenin türü.

    Varsayılan olarak, en basit bellek ayırma modelini tanımlayan ve değerden bağımsız olan ayırıcı sınıfı şablonu kullanılır.

Üye türleri

Aşağıdaki üye türleri, üye işlevlere göre parametre veya dönüş türü olarak kullanılabilir.

Sr.No. Üye türleri Tanım
1 değer türü T (Şablonun ilk parametresi)
2 allocator_type Alloc (Şablonun ikinci parametresi)
3 referans değer türü&
4 const_reference const value_type &
5 Işaretçi değer türü*
6 const_pointer const değer_türü *
7 yineleyici value_type'a rastgele erişim yineleyicisi
8 const_iterator sabit değer_türü için bir rastgele erişim yineleyicisi
9 reverse_iterator std :: ters_iterator <iterator>
10 const_reverse_iterator std :: ters_iterator <const_iterator>
11 Beden Çeşidi size_t
12 fark_türü ptrdiff_t

<vector> 'dan işlevler

Aşağıda <vector> başlığındaki tüm yöntemlerin listesi bulunmaktadır.

İnşaatçılar

Sr.No. Yöntem ve Açıklama
1 vektör :: vektör varsayılan yapıcısı

Sıfır elemanlı boş bir kap oluşturur.

2 vector :: vektör dolgu yapıcısı

N öğeli bir kap oluşturur ve her öğeye val atar .

3 vektör :: vektör aralığı yapıcısı

Aralığında birçok elemanlar olarak bir kap oluşturur ilk için son.

4 vektör :: vektör kopyalama yapıcısı

Mevcut x konteynerinde bulunan her öğenin kopyasını içeren bir konteyner oluşturur .

5 vector :: vektör hareket yapıcısı

Diğer kullanılarak içeriğiyle kabı oluşturur hareket anlam.

6 vector :: vektör başlatıcı liste yapıcısı

Başlatıcı listesinden bir kap oluşturur.

Yıkıcı

Sr.No. Yöntem ve Açıklama
1 vektör :: ~ vektör

Konteyner belleğini serbest bırakarak konteyneri yok eder.

Üye fonksiyonları

Sr.No. Yöntem ve Açıklama
1 vector :: dolgu sürümünü ata

Eski değerleri değiştirerek vektör öğelerine yeni değerler atayın.

2 vektör :: aralık sürümünü ata

Eski değerleri değiştirerek vektör öğelerine yeni değerler atayın.

3 vektör :: başlatıcı listesi sürümünü ata

Eski değerleri değiştirerek vektör öğelerine yeni değerler atayın.

4 vektör :: at

Vektörde n konumunda bulunan öğeye referans verir .

5 vektör :: geri

Vektörün son öğesine bir başvuru döndürür.

6 vector :: begin

Vektörün ilk öğesine işaret eden bir rastgele erişim yineleyicisi döndürür.

7 vektör :: kapasite

Öğeler cinsinden ifade edilen, ayrılmış depolamanın boyutunu döndürür.

8 vektör :: cbegin

Vektörün başlangıcına işaret eden sabit bir rasgele erişim yineleyicisi döndürür.

9 vektör :: cend

Vektörün başlangıcına işaret eden sabit bir rasgele erişim yineleyicisi döndürür.

10 vektör :: temizle

Vektördeki tüm öğeleri kaldırarak vektörü yok eder ve vektörün boyutunu sıfır olarak ayarlar.

11 vektör :: crbegin

Kabın ters çevirici başlangıcına işaret eden sabit bir ters yineleyici döndürür.

12 vektör :: crend

Vektörün ters ucuna işaret eden sabit bir ters yineleyici döndürür.

13 vektör :: veri

Vektör kabının ilk öğesine bir işaretçi döndürür.

14 vektör :: yerleştirmek

Yeni elemanın sokulmasıyla kabı uzatır pozisyonda .

15 vektör :: emplace_back

Vektörün sonuna yeni eleman ekler.

16 vektör :: boş

Vektörün boş olup olmadığını test eder.

17 vektör :: end

Vektör kapsayıcısında sonun sonundaki öğeye işaret eden bir yineleyici döndürür .

18 vektör :: konum sürümünü sil

Tek bir öğeyi vektörden kaldırır.

19 vektör :: aralık sürümünü sil

Tek bir öğeyi vektörden kaldırır.

20 vektör :: ön

Vektörün ilk öğesine bir başvuru döndürür.

21 vektör :: get_allocator

Vektörle ilişkili bir ayırıcı döndürür.

22 vektör :: tek elemanlı versiyon ekle

Pozisyona yeni eleman ekleyerek yineleyiciyi genişletir .

23 vektör :: dolgu versiyonunu ekle

Konteynere yeni eleman ekleyerek vektörü genişletir.

24 vektör :: aralık versiyonu ekle

Konteynere yeni eleman ekleyerek vektörü genişletir.

25 vektör :: taşıma sürümünü ekle

Konteynere yeni eleman ekleyerek vektörü genişletir.

26 vektör :: başlatıcı listesi sürümü ekle

Konteynere yeni eleman ekleyerek vektörü genişletir.

27 vektör :: max_size

Vektöre göre tutulabilecek maksimum öğe sayısını döndürür.

28 vector :: operator = sürümü kopyala

Eskileri değiştirerek vektöre yeni içerikler atayın ve gerekirse boyutu değiştirin.

29 vector :: operator = sürümü taşı

Eskileri değiştirerek vektöre yeni içerikler atayın ve gerekirse boyutu değiştirin.

30 vector :: operator = başlatıcı listesi sürümü

Eskileri değiştirerek vektöre yeni içerikler atayın ve gerekirse boyutu değiştirin.

31 vector :: operator []

N konumunda bulunan öğeye bir başvuru döndürür .

32 vektör :: pop_back

Son elemanı vektörden kaldırır ve vektörün boyutunu birer birer küçültür.

33 vektör :: push_back

Vektörün sonuna yeni eleman ekler ve vektörün boyutunu birer birer artırır.

34 vektör :: rbegin

Vektörün son öğesine işaret eden bir ters yineleyici döndürür.

35 vektör :: rendelemek

Vektörün ters ucunu gösteren bir ters yineleyici döndürür.

36 vektör :: rezerv

Vektör kapasitesi ayırma istekleri, en az n öğe içerecek kadar yeterli olacaktır .

37 vektör :: yeniden boyutlandırma

Vektörün boyutunu değiştirir.

38 vektör :: shrink_to_fit

Konteynerin kapasitesini boyutuna uyacak şekilde azaltmasını ister.

39 vektör :: boyut

Vektörde bulunan öğelerin sayısını döndürür.

40 vektör :: takas

Vektör içeriğini x vektörünün içeriği ile değiştirir .

Üye olmayan aşırı yüklenmiş işlevler

Sr.No. Yöntem ve Açıklama
1 operatör ==

İki vektörün eşit olup olmadığını test eder.

2 operatör! =

İki vektörün eşit olup olmadığını test eder.

3 operatör <

İlk vektörün diğerinden küçük olup olmadığını test eder.

4 operatör <=

İlk vektörün diğerinden küçük veya diğerine eşit olup olmadığını test eder.

5 operatör>

İlk vektörün diğerinden büyük olup olmadığını test eder.

6 operatör> =

İlk vektörün diğerinden büyük veya diğerine eşit olup olmadığını test eder.

7 takas

İki vektörün içeriğini değiştirir.