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. |