Perpustakaan C ++ - <vector>

pengantar

Vektor adalah wadah urutan yang dapat berubah ukuran. Container adalah objek yang menyimpan data dengan tipe yang sama. Kontainer urutan menyimpan elemen secara ketat dalam urutan linier.

Vektor menyimpan elemen di lokasi memori yang berdekatan dan memungkinkan akses langsung ke elemen apa pun menggunakan operator subskrip []. Tidak seperti array, vektor dapat menyusut atau meluas sesuai kebutuhan pada saat dijalankan. Penyimpanan vektor ditangani secara otomatis.

Untuk mendukung fungsi penyusutan dan perluasan pada waktu proses, penampung vektor dapat mengalokasikan beberapa penyimpanan tambahan untuk mengakomodasi kemungkinan pertumbuhan sehingga penampung memiliki kapasitas sebenarnya yang lebih besar dari ukurannya. Oleh karena itu, dibandingkan dengan array, vektor mengonsumsi lebih banyak memori sebagai imbalan atas kemampuan untuk mengelola penyimpanan dan tumbuh secara dinamis dengan cara yang efisien.

Vektor berukuran nol juga valid. Dalam hal ini vector.begin () dan vector.end () menunjuk ke lokasi yang sama. Tetapi perilaku memanggil depan () atau belakang () tidak ditentukan.

Definisi

Di bawah ini adalah definisi std :: vector dari file header <vector>

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

Parameter

  • T - Jenis elemen yang dikandung.

    T dapat diganti dengan tipe data lain termasuk tipe yang ditentukan pengguna.

  • Alloc - Jenis objek pengalokasi.

    Secara default, template kelas pengalokasi digunakan, yang mendefinisikan model alokasi memori paling sederhana dan tidak bergantung pada nilai.

Jenis anggota

Jenis anggota berikut dapat digunakan sebagai parameter atau jenis pengembalian berdasarkan fungsi anggota.

Sr.No. Jenis anggota Definisi
1 value_type T (Parameter pertama dari template)
2 jenis_alokasi Alloc (Parameter kedua dari template)
3 referensi value_type &
4 const_reference const value_type &
5 penunjuk value_type *
6 const_pointer const value_type *
7 iterator iterator akses acak ke value_type
8 const_iterator iterator akses acak ke const value_type
9 reverse_iterator std :: reverse_iterator <iterator>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 tipe ukuran size_t
12 perbedaan_tipe ptrdiff_t

Fungsi dari <vector>

Di bawah ini adalah daftar semua metode dari header <vector>.

Konstruktor

Sr.No. Metode & Deskripsi
1 vektor :: konstruktor default vektor

Membangun wadah kosong, dengan elemen nol.

2 vektor :: konstruktor pengisian vektor

Membuat wadah dengan n elemen dan menetapkan val ke setiap elemen.

3 vektor :: konstruktor rentang vektor

Membuat wadah dengan banyak elemen dalam rentang dari awal hingga akhir.

4 vektor :: konstruktor salinan vektor

Membuat wadah dengan salinan setiap elemen yang ada di wadah x yang ada.

5 vektor :: konstruktor bergerak vektor

Membangun wadah dengan konten lain menggunakan semantik bergerak .

6 vektor :: konstruktor daftar penginisialisasi vektor

Membuat wadah dari daftar penginisialisasi.

Penghancur

Sr.No. Metode & Deskripsi
1 vektor :: ~ vektor

Menghancurkan container dengan membatalkan alokasi memori container.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 vektor :: menetapkan versi isi

Tetapkan nilai baru ke elemen vektor dengan mengganti yang lama.

2 vektor :: menetapkan versi rentang

Tetapkan nilai baru ke elemen vektor dengan mengganti yang lama.

3 vektor :: menetapkan versi daftar penginisialisasi

Tetapkan nilai baru ke elemen vektor dengan mengganti yang lama.

4 vektor :: pada

Mengembalikan referensi ke elemen yang ada di lokasi n dalam vektor.

5 vektor :: kembali

Mengembalikan referensi ke elemen terakhir dari vektor.

6 vektor :: mulai

Kembalikan iterator akses acak yang menunjuk ke elemen pertama vektor.

7 vektor :: kapasitas

Mengembalikan ukuran penyimpanan alokasi, yang dinyatakan dalam elemen.

8 vektor :: cbegin

Mengembalikan iterator akses acak konstan yang menunjuk ke awal vektor.

9 vektor :: cend

Mengembalikan iterator akses acak konstan yang menunjuk ke awal vektor.

10 vektor :: jelas

Menghancurkan vektor dengan menghapus semua elemen dari vektor dan menyetel ukuran vektor ke nol.

11 vektor :: crbegin

Mengembalikan iterator terbalik konstan yang menunjuk ke awal pembalik wadah.

12 vektor :: crend

Mengembalikan iterator terbalik konstan yang menunjuk ke ujung kebalikan dari vektor.

13 vektor :: data

Mengembalikan pointer ke elemen pertama dari penampung vektor.

14 vektor :: emplace

Memperluas wadah dengan memasukkan elemen baru pada posisinya .

15 vektor :: emplace_back

Menyisipkan elemen baru di akhir vektor.

16 vektor :: kosong

Menguji apakah vektor kosong atau tidak.

17 vektor :: akhir

Mengembalikan iterator yang menunjuk ke elemen masa lalu di penampung vektor.

18 vektor :: menghapus versi posisi

Menghapus satu elemen dari vektor.

19 vektor :: menghapus versi rentang

Menghapus satu elemen dari vektor.

20 vektor :: depan

Mengembalikan referensi ke elemen pertama vektor.

21 vektor :: get_allocator

Mengembalikan pengalokasi yang terkait dengan vektor.

22 vektor :: masukkan versi elemen tunggal

Perluas iterator dengan memasukkan elemen baru pada posisinya.

23 vektor :: masukkan versi isi

Memperluas vektor dengan memasukkan elemen baru ke dalam wadah.

24 vektor :: masukkan versi rentang

Memperluas vektor dengan memasukkan elemen baru ke dalam wadah.

25 vektor :: masukkan versi bergerak

Memperluas vektor dengan memasukkan elemen baru ke dalam wadah.

26 vektor :: masukkan versi daftar penginisialisasi

Memperluas vektor dengan memasukkan elemen baru ke dalam wadah.

27 vektor :: ukuran_maks

Mengembalikan jumlah maksimum elemen yang dapat dipegang oleh vektor.

28 vector :: operator = salin versi

Tetapkan konten baru ke vektor dengan mengganti yang lama dan ubah ukuran jika perlu.

29 vector :: operator = memindahkan versi

Tetapkan konten baru ke vektor dengan mengganti yang lama dan ubah ukuran jika perlu.

30 vektor :: operator = versi daftar penginisialisasi

Tetapkan konten baru ke vektor dengan mengganti yang lama dan ubah ukuran jika perlu.

31 vektor :: operator []

Mengembalikan referensi ke elemen yang ada di lokasi n .

32 vektor :: pop_back

Menghapus elemen terakhir dari vektor dan mengurangi ukuran vektor satu per satu.

33 vektor :: push_back

Menyisipkan elemen baru di akhir vektor dan menambah ukuran vektor satu.

34 vektor :: rbegin

Mengembalikan iterator terbalik yang menunjuk ke elemen terakhir vektor.

35 vektor :: rend

Mengembalikan iterator terbalik yang menunjuk ke ujung sebaliknya dari vektor.

36 vektor :: cadangan

Permintaan untuk mencadangkan kapasitas vektor setidaknya cukup untuk memuat n elemen.

37 vektor :: ubah ukuran

Mengubah ukuran vektor.

38 vektor :: shrink_to_fit

Meminta penampung untuk mengurangi kapasitasnya agar sesuai dengan ukurannya.

39 vektor :: ukuran

Mengembalikan jumlah elemen yang ada dalam vektor.

40 vektor :: swap

Tukar isi vektor dengan isi vektor x .

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 operator ==

Menguji apakah dua vektor sama atau tidak.

2 operator! =

Menguji apakah dua vektor sama atau tidak.

3 operator <

Menguji apakah vektor pertama lebih kecil dari yang lain atau tidak.

4 operator <=

Menguji apakah vektor pertama kurang dari atau sama dengan lainnya atau tidak.

5 operator>

Menguji apakah vektor pertama lebih besar dari yang lain atau tidak.

6 operator> =

Menguji apakah vektor pertama lebih besar dari atau sama dengan lainnya atau tidak.

7 menukar

Menukar isi dari dua vektor.