Share via


vektor (STL/CLR)

Kelas templat menjelaskan objek yang mengontrol urutan elemen dengan panjang yang bervariasi yang memiliki akses acak. Anda menggunakan kontainer vector untuk mengelola urutan elemen sebagai blok penyimpanan yang berdampingan. Blok diimplementasikan sebagai array yang tumbuh sesuai permintaan.

Dalam deskripsi di bawah ini, GValue sama dengan Nilai kecuali yang terakhir adalah jenis ref, dalam hal ini adalah Value^.

Sintaks

template<typename Value>
    ref class vector
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IVector<GValue>
    { ..... };

Parameter

Nilai
Jenis elemen dalam urutan terkontrol.

Persyaratan

Header:<cliext/vector>

Namespace: cliext

Deklarasi

Definisi Tipe Deskripsi
vektor::const_iterator (STL/CLR) Jenis iterator konstan untuk urutan terkontrol.
vektor::const_reference (STL/CLR) Jenis referensi konstanta ke elemen.
vektor::const_reverse_iterator (STL/CLR) Jenis iterator terbalik konstan untuk urutan terkontrol.
vektor::d ifference_type (STL/CLR) Jenis jarak yang ditandatangani antara dua elemen.
vektor::generic_container (STL/CLR) Jenis antarmuka generik untuk kontainer.
vektor::generic_iterator (STL/CLR) Jenis iterator untuk antarmuka generik untuk kontainer.
vektor::generic_reverse_iterator (STL/CLR) Jenis iterator terbalik untuk antarmuka generik untuk kontainer.
vektor::generic_value (STL/CLR) Jenis elemen untuk antarmuka generik untuk kontainer.
vektor::iterator (STL/CLR) Jenis iterator untuk urutan yang dikontrol.
vektor::reference (STL/CLR) Jenis referensi ke elemen.
vektor::reverse_iterator (STL/CLR) Jenis iterator terbalik untuk urutan yang dikontrol.
vektor::size_type (STL/CLR) Jenis jarak yang ditandatangani antara dua elemen.
vektor::value_type (STL/CLR) Jenis elemen.
Fungsi Anggota Deskripsi
vektor::assign (STL/CLR) Menggantikan semua elemen.
vektor::at (STL/CLR) Mengakses elemen pada posisi tertentu.
vektor::back (STL/CLR) Mengakses elemen terakhir.
vektor::begin (STL/CLR) Menunjuk awal urutan yang dikontrol.
vektor::capacity (STL/CLR) Melaporkan ukuran penyimpanan yang dialokasikan untuk kontainer.
vektor::clear (STL/CLR) Menghapus semua elemen.
vektor::empty (STL/CLR) Menguji apakah tidak ada elemen yang ada.
vektor::end (STL/CLR) Menunjuk akhir urutan yang dikontrol.
vektor::hapus (STL/CLR) Menghapus elemen pada posisi yang ditentukan.
vektor::front (STL/CLR) Mengakses elemen pertama.
vektor::insert (STL/CLR) Menambahkan elemen pada posisi tertentu.
vektor::p op_back (STL/CLR) Menghapus elemen terakhir.
vektor::p ush_back (STL/CLR) Menambahkan elemen terakhir baru.
vektor::rbegin (STL/CLR) Menunjuk awal urutan terkontrol terbalik.
vektor::rend (STL/CLR) Menunjuk akhir urutan terkontrol terbalik.
vektor::reserve (STL/CLR) Memastikan kapasitas pertumbuhan minimum untuk kontainer.
vektor::resize (STL/CLR) Mengubah jumlah elemen.
vektor::size (STL/CLR) Menghitung jumlah elemen.
vektor::swap (STL/CLR) Menukar isi dua kontainer.
vektor::to_array (STL/CLR) Menyalin urutan terkontrol ke array baru.
vektor::vektor (STL/CLR) Membuat objek kontainer.
Properti Deskripsi
vektor::back_item (STL/CLR) Mengakses elemen terakhir.
vektor::front_item (STL/CLR) Mengakses elemen pertama.
Operator Deskripsi
vektor::operator= (STL/CLR) Menggantikan urutan terkontrol.
vektor::operator(STL/CLR) Mengakses elemen pada posisi tertentu.
operator!= (vektor) (STL/CLR) Menentukan apakah objek vector tidak sama dengan objek lain vector .
operator< (vektor) (STL/CLR) Menentukan apakah vector objek kurang dari objek lain vector .
operator<= (vektor) (STL/CLR) Menentukan apakah objek vector kurang dari atau sama dengan objek lain vector .
operator== (vektor) (STL/CLR) Menentukan apakah vector objek sama dengan objek lain vector .
operator> (vektor) (STL/CLR) Menentukan apakah vector objek lebih besar dari objek lain vector .
operator>= (vektor) (STL/CLR) Menentukan apakah vector objek lebih besar dari atau sama dengan objek lain vector .

Antarmuka

Antarmuka Deskripsi
ICloneable Menduplikasi objek.
IEnumerable Urutan melalui elemen.
ICollection Pertahankan grup elemen.
IEnumerable<T> Urutan melalui elemen yang ditik.
ICollection<T> Pertahankan grup elemen yang diketik.
IList<T> Pertahankan grup yang diurutkan dari elemen yang diketik.
Nilai IVector<> Pertahankan kontainer generik.

Keterangan

Objek mengalokasikan dan membebaskan penyimpanan untuk urutan yang dikontrolnya melalui array elemen Nilai yang disimpan, yang tumbuh sesuai permintaan. Pertumbuhan terjadi sedimikian rupa sehingga biaya penambahan elemen baru diamortisasi waktu konstan. Dengan kata lain, biaya penambahan elemen di akhir tidak meningkat, rata-rata, karena panjang urutan yang dikontrol semakin besar. Dengan demikian, vektor adalah kandidat yang baik untuk kontainer dasar untuk tumpukan kelas templat (STL/CLR).

Mendukung vector iterator akses acak, yang berarti Anda dapat merujuk ke elemen secara langsung mengingat posisi numeriknya, dihitung dari nol untuk elemen pertama (depan), hingga size() - 1 untuk elemen terakhir (belakang). Ini juga berarti bahwa vektor adalah kandidat yang baik untuk kontainer dasar untuk kelas templat priority_queue (STL/CLR).

Iterator vektor menyimpan handel ke objek vektor terkait, bersama dengan bias elemen yang ditunjuknya. Anda hanya dapat menggunakan iterator dengan objek kontainer terkait. Bias elemen vektor sama dengan posisinya.

Menyisipkan atau menghapus elemen dapat mengubah nilai elemen yang disimpan pada posisi tertentu, sehingga nilai yang ditunjuk oleh iterator juga dapat berubah. (Kontainer mungkin harus menyalin elemen ke atas atau ke bawah untuk membuat lubang sebelum penyisipan atau untuk mengisi lubang setelah penghapusan.) Namun demikian, iterator vektor tetap valid selama biasnya berada dalam rentang [0, size()]. Selain itu, iterator yang valid tetap dapat didereferensikan -- Anda dapat menggunakannya untuk mengakses atau mengubah nilai elemen yang ditunjuknya -- selama biasnya tidak sama dengan size().

Menghapus atau menghapus elemen memanggil destruktor untuk nilai tersimpannya. Menghancurkan kontainer akan menghapus semua elemen. Dengan demikian, kontainer yang jenis elemennya adalah kelas ref memastikan bahwa tidak ada elemen yang lebih lama dari kontainer. Namun, perhatikan bahwa kontainer handel tidak menghancurkan elemennya.

Anggota

vektor::assign (STL/CLR)

Menggantikan semua elemen.

Sintaks

void assign(size_type count, value_type val);
template<typename InIt>
    void assign(InIt first, InIt last);
void assign(System::Collections::Generic::IEnumerable<Value>^ right);

Parameter

count
Jumlah elemen yang akan disisipkan.

first
Awal rentang yang akan disisipkan.

last
Akhir rentang untuk disisipkan.

right
Enumerasi untuk disisipkan.

Val
Nilai elemen yang akan disisipkan.

Keterangan

Fungsi anggota pertama menggantikan urutan yang dikontrol dengan pengulangan elemen hitungan value val. Anda menggunakannya untuk mengisi kontainer dengan elemen yang semuanya memiliki nilai yang sama.

Jika InIt adalah jenis bilangan bulat, fungsi anggota kedua bersifat sama dengan assign((size_type)first, (value_type)last). Jika tidak, ia mengganti urutan yang dikontrol dengan urutan [first, last). Anda menggunakannya untuk membuat urutan terkontrol salinan urutan lain.

Fungsi anggota ketiga menggantikan urutan terkontrol dengan urutan yang ditunjuk oleh kanan enumerator. Anda menggunakannya untuk membuat urutan terkontrol sebagai salinan urutan yang dijelaskan oleh enumerator.

Contoh

// cliext_vector_assign.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// assign a repetition of values
    cliext::vector<wchar_t> c2;
    c2.assign(6, L'x');
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign an iterator range
    c2.assign(c1.begin(), c1.end() - 1);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign an enumeration
    c2.assign(   // NOTE: cast is not needed
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
x x x x x x
a b
a b c

vektor::at (STL/CLR)

Mengakses elemen pada posisi tertentu.

Sintaks

reference at(size_type pos);

Parameter

pos
Posisi elemen untuk diakses.

Keterangan

Fungsi anggota mengembalikan referensi ke elemen urutan terkontrol pada pos posisi. Anda menggunakannya untuk membaca atau menulis elemen yang posisinya Anda ketahui.

Contoh

// cliext_vector_at.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c" using at
    for (int i = 0; i < c1.size(); ++i)
        System::Console::Write("{0} ", c1.at(i));
    System::Console::WriteLine();

// change an entry and redisplay
    c1.at(1) = L'x';
    for (int i = 0; i < c1.size(); ++i)
        System::Console::Write("{0} ", c1[i]);
    System::Console::WriteLine();
    return (0);
    }
a b c
a x c

vektor::back (STL/CLR)

Mengakses elemen terakhir.

Sintaks

reference back();

Keterangan

Fungsi anggota mengembalikan referensi ke elemen terakhir dari urutan terkontrol, yang harus tidak kosong. Anda menggunakannya untuk mengakses elemen terakhir, ketika Anda tahu itu ada.

Contoh

// cliext_vector_back.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect last item
    System::Console::WriteLine("back() = {0}", c1.back());

// alter last item and reinspect
    c1.back() = L'x';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
back() = c
a b x

vektor::back_item (STL/CLR)

Mengakses elemen terakhir.

Sintaks

property value_type back_item;

Keterangan

Properti mengakses elemen terakhir dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk membaca atau menulis elemen terakhir, ketika Anda tahu itu ada.

Contoh

// cliext_vector_back_item.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect last item
    System::Console::WriteLine("back_item = {0}", c1.back_item);

// alter last item and reinspect
    c1.back_item = L'x';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
back_item = c
a b x

vektor::begin (STL/CLR)

Menunjuk awal urutan yang dikontrol.

Sintaks

iterator begin();

Keterangan

Fungsi anggota mengembalikan iterator akses acak yang menunjuk elemen pertama dari urutan yang dikontrol, atau tepat di luar akhir urutan kosong. Anda menggunakannya untuk mendapatkan iterator yang menunjuk current awal urutan terkontrol, tetapi statusnya dapat berubah jika panjang urutan terkontrol berubah.

Contoh

// cliext_vector_begin.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect first two items
    cliext::vector<wchar_t>::iterator it = c1.begin();
    System::Console::WriteLine("*begin() = {0}", *it);
    System::Console::WriteLine("*++begin() = {0}", *++it);

// alter first two items and reinspect
    *--it = L'x';
    *++it = L'y';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
*begin() = a
*++begin() = b
x y c

vektor::capacity (STL/CLR)

Melaporkan ukuran penyimpanan yang dialokasikan untuk kontainer.

Sintaks

size_type capacity();

Keterangan

Fungsi anggota mengembalikan penyimpanan yang saat ini dialokasikan untuk menahan urutan terkontrol, nilai setidaknya sebesar vektor::size (STL/CLR)(). Anda menggunakannya untuk menentukan berapa banyak kontainer yang dapat tumbuh sebelum harus merealokasi penyimpanan untuk urutan yang dikontrol.

Contoh

// cliext_vector_capacity.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for (int i = 0; i < c1.size(); ++i)
        System::Console::Write("{0} ", c1.at(i));
    System::Console::WriteLine();

// increase capacity
    cliext::vector<wchar_t>::size_type cap = c1.capacity();
    System::Console::WriteLine("capacity() = {0}, ok = {1}",
        cap, c1.size() <= cap);
    c1.reserve(cap + 5);
    System::Console::WriteLine("capacity() = {0}, ok = {1}",
        c1.capacity(), cap + 5 <= c1.capacity());
    return (0);
    }
a b c
capacity() = 4, ok = True
capacity() = 9, ok = True

vektor::clear (STL/CLR)

Menghapus semua elemen.

Sintaks

void clear();

Keterangan

Fungsi anggota secara efektif memanggil vektor::erase (STL/CLR)(vektor::begin (STL/CLR)(),vektor::end (STL/CLR).()) Anda menggunakannya untuk memastikan bahwa urutan yang dikontrol kosong.

Contoh

// cliext_vector_clear.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// clear the container and reinspect
    c1.clear();
    System::Console::WriteLine("size() = {0}", c1.size());

// add elements and clear again
    c1.push_back(L'a');
    c1.push_back(L'b');

    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    c1.clear();
    System::Console::WriteLine("size() = {0}", c1.size());
    return (0);
    }
a b c
size() = 0
a b
size() = 0

vektor::const_iterator (STL/CLR)

Jenis iterator konstan untuk urutan terkontrol.

Sintaks

typedef T2 const_iterator;

Keterangan

Jenis ini menjelaskan objek jenis yang tidak ditentukan T2 yang dapat berfungsi sebagai iterator akses acak konstan untuk urutan yang dikontrol.

Contoh

// cliext_vector_const_iterator.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    cliext::vector<wchar_t>::const_iterator cit = c1.begin();
    for (; cit != c1.end(); ++cit)
        System::Console::Write("{0} ", *cit);
    System::Console::WriteLine();
    return (0);
    }
a b c

vektor::const_reference (STL/CLR)

Jenis referensi konstanta ke elemen.

Sintaks

typedef value_type% const_reference;

Keterangan

Jenis ini menjelaskan referensi konstan ke elemen.

Contoh

// cliext_vector_const_reference.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    cliext::vector<wchar_t>::const_iterator cit = c1.begin();
    for (; cit != c1.end(); ++cit)
        {   // get a const reference to an element
        cliext::vector<wchar_t>::const_reference cref = *cit;
        System::Console::Write("{0} ", cref);
        }
    System::Console::WriteLine();
    return (0);
    }
a b c

vektor::const_reverse_iterator (STL/CLR)

Jenis iterator terbalik konstan untuk urutan terkontrol.

Sintaks

typedef T4 const_reverse_iterator;

Keterangan

Jenis menjelaskan objek jenis yang tidak ditentukan T4 yang dapat berfungsi sebagai iterator terbalik konstan untuk urutan yang dikontrol.

Contoh

// cliext_vector_const_reverse_iterator.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c" reversed
    cliext::vector<wchar_t>::const_reverse_iterator crit = c1.rbegin();
    cliext::vector<wchar_t>::const_reverse_iterator crend = c1.rend();
    for (; crit != crend; ++crit)
        System::Console::Write("{0} ", *crit);
    System::Console::WriteLine();
    return (0);
    }
c b a

vektor::d ifference_type (STL/CLR)

Jenis jarak yang ditandatangani antara dua elemen.

Sintaks

typedef int difference_type;

Keterangan

Jenis menjelaskan jumlah elemen yang ditandatangani.

Contoh

// cliext_vector_difference_type.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// compute positive difference
    cliext::vector<wchar_t>::difference_type diff = 0;
    for (cliext::vector<wchar_t>::iterator it = c1.begin();
        it != c1.end(); ++it) ++diff;
    System::Console::WriteLine("end()-begin() = {0}", diff);

// compute negative difference
    diff = 0;
    for (cliext::vector<wchar_t>::iterator it = c1.end();
        it != c1.begin(); --it) --diff;
    System::Console::WriteLine("begin()-end() = {0}", diff);
    return (0);
    }
a b c
end()-begin() = 3
begin()-end() = -3

vektor::empty (STL/CLR)

Menguji apakah tidak ada elemen yang ada.

Sintaks

bool empty();

Keterangan

Fungsi anggota mengembalikan true untuk urutan yang dikontrol kosong. Ini setara dengan vektor::size (STL/CLR)() == 0. Anda menggunakannya untuk menguji apakah vektor kosong.

Contoh

// cliext_vector_empty.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    System::Console::WriteLine("size() = {0}", c1.size());
    System::Console::WriteLine("empty() = {0}", c1.empty());

// clear the container and reinspect
    c1.clear();
    System::Console::WriteLine("size() = {0}", c1.size());
    System::Console::WriteLine("empty() = {0}", c1.empty());
    return (0);
    }
a b c
size() = 3
empty() = False
size() = 0
empty() = True

vektor::end (STL/CLR)

Menunjuk akhir urutan yang dikontrol.

Sintaks

iterator end();

Keterangan

Fungsi anggota mengembalikan iterator akses acak yang menunjuk tepat di luar akhir urutan yang dikontrol. Anda menggunakannya untuk mendapatkan iterator yang menunjuk current akhir urutan terkontrol, tetapi statusnya dapat berubah jika panjang urutan terkontrol berubah.

Contoh

// cliext_vector_end.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect last two items
    cliext::vector<wchar_t>::iterator it = c1.end();
    --it;
    System::Console::WriteLine("*-- --end() = {0}", *--it);
    System::Console::WriteLine("*--end() = {0}", *++it);

// alter first two items and reinspect
    *--it = L'x';
    *++it = L'y';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
*-- --end() = b
*--end() = c
a x y

vektor::hapus (STL/CLR)

Menghapus elemen pada posisi yang ditentukan.

Sintaks

iterator erase(iterator where);
iterator erase(iterator first, iterator last);

Parameter

first
Awal rentang untuk menghapus.

last
Akhir rentang untuk menghapus.

di mana
Elemen untuk menghapus.

Keterangan

Fungsi anggota pertama menghapus elemen urutan terkontrol yang ditujukkan ke tempatnya. Anda menggunakannya untuk menghapus satu elemen.

Fungsi anggota kedua menghapus elemen urutan terkontrol dalam rentang [first, last). Anda menggunakannya untuk menghapus nol atau lebih elemen yang berdada.

Kedua fungsi anggota mengembalikan iterator yang menunjuk elemen pertama yang tersisa di luar elemen apa pun yang dihapus, atau vektor::end (STL/CLR)() jika tidak ada elemen tersebut.

Saat menghapus elemen, jumlah salinan elemen bersifat linier dalam jumlah elemen antara akhir penghapusan dan akhir urutan yang lebih dekat. (Saat menghapus satu atau beberapa elemen di salah satu akhir urutan, tidak ada salinan elemen yang terjadi.)

Contoh

// cliext_vector_erase.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// erase an element and reinspect
    System::Console::WriteLine("erase(begin()) = {0}",
        *c1.erase(c1.begin()));

// add elements and display " b c d e"
    c1.push_back(L'd');
    c1.push_back(L'e');
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// erase all but end
    cliext::vector<wchar_t>::iterator it = c1.end();
    System::Console::WriteLine("erase(begin(), end()-1) = {0}",
        *c1.erase(c1.begin(), --it));
    System::Console::WriteLine("size() = {0}", c1.size());
    return (0);
    }
a b c
erase(begin()) = b
b c d e
erase(begin(), end()-1) = e
size() = 1

vektor::front (STL/CLR)

Mengakses elemen pertama.

Sintaks

reference front();

Keterangan

Fungsi anggota mengembalikan referensi ke elemen pertama dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk membaca atau menulis elemen pertama, ketika Anda tahu itu ada.

Contoh

// cliext_vector_front.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect first item
    System::Console::WriteLine("front() = {0}", c1.front());

// alter first item and reinspect
    c1.front() = L'x';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
front() = a
x b c

vektor::front_item (STL/CLR)

Mengakses elemen pertama.

Sintaks

property value_type front_item;

Keterangan

Properti mengakses elemen pertama dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk membaca atau menulis elemen pertama, ketika Anda tahu itu ada.

Contoh

// cliext_vector_front_item.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect first item
    System::Console::WriteLine("front_item = {0}", c1.front_item);

// alter first item and reinspect
    c1.front_item = L'x';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
front_item = a
x b c

vektor::generic_container (STL/CLR)

Jenis antarmuka generik untuk kontainer.

Sintaks

typedef Microsoft::VisualC::StlClr::
    IVector<generic_value>
    generic_container;

Keterangan

Jenis menjelaskan antarmuka generik untuk kelas kontainer templat ini.

Contoh

// cliext_vector_generic_container.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct a generic container
    cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
    for each (wchar_t elem in gc1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// modify generic and display original
    gc1->insert(gc1->end(), L'd');
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// modify original and display generic
    c1.push_back(L'e');

    System::Collections::IEnumerator^ enum1 =
        gc1->GetEnumerator();
    while (enum1->MoveNext())
        System::Console::Write("{0} ", enum1->Current);
    System::Console::WriteLine();
    return (0);
    }
a b c
a b c
a b c d
a b c d e

vektor::generic_iterator (STL/CLR)

Jenis iterator untuk digunakan dengan antarmuka generik untuk kontainer.

Sintaks

typedef Microsoft::VisualC::StlClr::Generic::
    ContainerRandomAccessIterator<generic_value>
    generic_iterator;

Keterangan

Jenis ini menjelaskan iterator generik yang dapat digunakan dengan antarmuka generik untuk kelas kontainer templat ini.

Contoh

// cliext_vector_generic_iterator.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct a generic container
    cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
    for each (wchar_t elem in gc1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// modify generic and display original
    cliext::vector<wchar_t>::generic_iterator gcit = gc1->begin();
    cliext::vector<wchar_t>::generic_value gcval = *gcit;
    *++gcit = gcval;
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
a b c
a a c

vektor::generic_reverse_iterator (STL/CLR)

Jenis iterator terbalik untuk digunakan dengan antarmuka generik untuk kontainer.

Sintaks

typedef Microsoft::VisualC::StlClr::Generic::
    ReverseRandomAccessIterator<generic_value> generic_reverse_iterator;

Keterangan

Jenis ini menjelaskan iterator terbalik generik yang dapat digunakan dengan antarmuka generik untuk kelas kontainer templat ini.

Contoh

// cliext_vector_generic_reverse_iterator.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct a generic container
    cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
    for each (wchar_t elem in gc1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// modify generic and display original
    cliext::vector<wchar_t>::generic_reverse_iterator gcit = gc1->rbegin();
    cliext::vector<wchar_t>::generic_value gcval = *gcit;
    *++gcit = gcval;
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
a b c
a c c

vektor::generic_value (STL/CLR)

Jenis elemen untuk digunakan dengan antarmuka generik untuk kontainer.

Sintaks

typedef GValue generic_value;

Keterangan

Jenis menjelaskan objek jenis GValue yang menjelaskan nilai elemen tersimpan untuk digunakan dengan antarmuka generik untuk kelas kontainer templat ini.

Contoh

// cliext_vector_generic_value.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct a generic container
    cliext::vector<wchar_t>::generic_container^ gc1 = %c1;
    for each (wchar_t elem in gc1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// modify generic and display original
    cliext::vector<wchar_t>::generic_iterator gcit = gc1->begin();
    cliext::vector<wchar_t>::generic_value gcval = *gcit;
    *++gcit = gcval;
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
a b c
a a c

vektor::insert (STL/CLR)

Menambahkan elemen pada posisi tertentu.

Sintaks

iterator insert(iterator where, value_type val);
void insert(iterator where, size_type count, value_type val);
template<typename InIt>
    void insert(iterator where, InIt first, InIt last);
void insert(iterator where,
    System::Collections::Generic::IEnumerable<Value>^ right);

Parameter

count
Jumlah elemen yang akan disisipkan.

first
Awal rentang yang akan disisipkan.

last
Akhir rentang untuk disisipkan.

right
Enumerasi untuk disisipkan.

Val
Nilai elemen yang akan disisipkan.

di mana
Di mana dalam kontainer untuk disisipkan sebelumnya.

Keterangan

Setiap fungsi anggota menyisipkan, sebelum elemen menunjuk ke dengan di mana dalam urutan yang dikontrol, urutan yang ditentukan oleh operand yang tersisa.

Fungsi anggota pertama menyisipkan elemen dengan value val dan mengembalikan iterator yang menunjuk elemen yang baru dimasukkan. Anda menggunakannya untuk menyisipkan satu elemen sebelum tempat yang ditunjuk oleh iterator.

Fungsi anggota kedua menyisipkan pengulangan elemen hitungan nilai val. Anda menggunakannya untuk menyisipkan nol atau lebih elemen yang berdampingan yang semuanya merupakan salinan dari nilai yang sama.

Jika InIt adalah jenis bilangan bulat, fungsi anggota ketiga berulah sama dengan insert(where, (size_type)first, (value_type)last). Jika tidak, ia menyisipkan urutan [first, last). Anda menggunakannya untuk menyisipkan nol atau lebih elemen yang berdisipatan yang disalin dari urutan lain.

Fungsi anggota keempat menyisipkan urutan yang ditunjuk oleh kanan. Anda menggunakannya untuk menyisipkan urutan yang dijelaskan oleh enumerator.

Saat menyisipkan elemen tunggal, jumlah salinan elemen bersifat linier dalam jumlah elemen antara titik penyisipan dan akhir urutan yang lebih dekat. (Saat menyisipkan satu atau beberapa elemen di salah satu akhir urutan, tidak ada salinan elemen yang terjadi.) Jika InIt merupakan iterator input, fungsi anggota ketiga secara efektif melakukan penyisipan tunggal untuk setiap elemen dalam urutan. Jika tidak, saat menyisipkan N elemen, jumlah salinan elemen bersifat linier ditambah N jumlah elemen antara titik penyisipan dan akhir urutan yang lebih dekat.

Contoh

// cliext_vector_insert.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// insert a single value using iterator
    cliext::vector<wchar_t>::iterator it = c1.begin();
    System::Console::WriteLine("insert(begin()+1, L'x') = {0}",
        *c1.insert(++it, L'x'));
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// insert a repetition of values
    cliext::vector<wchar_t> c2;
    c2.insert(c2.begin(), 2, L'y');
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// insert an iterator range
    it = c1.end();
    c2.insert(c2.end(), c1.begin(), --it);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// insert an enumeration
    c2.insert(c2.begin(),   // NOTE: cast is not needed
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
insert(begin()+1, L'x') = x
a x b c
y y
y y a x b
a x b c y y a x b

vektor::iterator (STL/CLR)

Jenis iterator untuk urutan yang dikontrol.

Sintaks

typedef T1 iterator;

Keterangan

Jenis ini menjelaskan objek jenis yang tidak ditentukan T1 yang dapat berfungsi sebagai iterator akses acak untuk urutan yang dikontrol.

Contoh

// cliext_vector_iterator.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    cliext::vector<wchar_t>::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
        System::Console::Write("{0} ", *it);
    System::Console::WriteLine();

// alter first element and redisplay
    it = c1.begin();
    *it = L'x';
    for (; it != c1.end(); ++it)
        System::Console::Write("{0} ", *it);
    System::Console::WriteLine();
    return (0);
    }
a b c
x b c

vektor::operator= (STL/CLR)

Menggantikan urutan terkontrol.

Sintaks

vector<Value>% operator=(vector<Value>% right);

Parameter

right
Kontainer untuk disalin.

Keterangan

Operator anggota menyalin langsung ke objek, lalu mengembalikan *this. Anda menggunakannya untuk mengganti urutan terkontrol dengan salinan urutan terkontrol di sebelah kanan.

Contoh

// cliext_vector_operator_as.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2 = c1;
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
a b c

vektor::operator(STL/CLR)

Mengakses elemen pada posisi tertentu.

Sintaks

reference operator[](size_type pos);

Parameter

pos
Posisi elemen untuk diakses.

Keterangan

Operator anggota mengembalikan referensi ke elemen pada posisi pos. Anda menggunakannya untuk mengakses elemen yang posisinya Anda ketahui.

Contoh

// cliext_vector_operator_sub.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c" using subscripting
    for (int i = 0; i < c1.size(); ++i)
        System::Console::Write("{0} ", c1[i]);
    System::Console::WriteLine();

// change an entry and redisplay
    c1[1] = L'x';
    for (int i = 0; i < c1.size(); ++i)
        System::Console::Write("{0} ", c1[i]);
    System::Console::WriteLine();
    return (0);
    }
a b c
a x c

vektor::p op_back (STL/CLR)

Menghapus elemen terakhir.

Sintaks

void pop_back();

Keterangan

Fungsi anggota menghapus elemen terakhir dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk mempersingkat vektor dengan satu elemen di bagian belakang.

Contoh

// cliext_vector_pop_back.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// pop an element and redisplay
    c1.pop_back();
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
a b

vektor::p ush_back (STL/CLR)

Menambahkan elemen terakhir baru.

Sintaks

void push_back(value_type val);

Keterangan

Fungsi anggota menyisipkan elemen dengan nilai val di akhir urutan yang dikontrol. Anda menggunakannya untuk menambahkan elemen lain ke vektor.

Contoh

// cliext_vector_push_back.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c

vektor::rbegin (STL/CLR)

Menunjuk awal urutan terkontrol terbalik.

Sintaks

reverse_iterator rbegin();

Keterangan

Fungsi anggota mengembalikan iterator terbalik yang menunjuk elemen terakhir dari urutan yang dikontrol, atau tepat di luar awal urutan kosong. Oleh karena itu, ini menunjuk beginning urutan terbalik. Anda menggunakannya untuk mendapatkan iterator yang menunjuk current awal urutan terkontrol yang terlihat dalam urutan terbalik, tetapi statusnya dapat berubah jika panjang urutan terkontrol berubah.

Contoh

// cliext_vector_rbegin.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect first two items in reversed sequence
    cliext::vector<wchar_t>::reverse_iterator rit = c1.rbegin();
    System::Console::WriteLine("*rbegin() = {0}", *rit);
    System::Console::WriteLine("*++rbegin() = {0}", *++rit);

// alter first two items and reinspect
    *--rit = L'x';
    *++rit = L'y';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
*rbegin() = c
*++rbegin() = b
a y x

vektor::reference (STL/CLR)

Jenis referensi ke elemen.

Sintaks

typedef value_type% reference;

Keterangan

Jenis ini menjelaskan referensi ke elemen.

Contoh

// cliext_vector_reference.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    cliext::vector<wchar_t>::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
        {   // get a reference to an element
        cliext::vector<wchar_t>::reference ref = *it;
        System::Console::Write("{0} ", ref);
        }
    System::Console::WriteLine();

// modify contents " a b c"
    for (it = c1.begin(); it != c1.end(); ++it)
        {   // get a reference to an element
        cliext::vector<wchar_t>::reference ref = *it;

        ref += (wchar_t)(L'A' - L'a');
        System::Console::Write("{0} ", ref);
        }
    System::Console::WriteLine();
    return (0);
    }
a b c
A B C

vektor::rend (STL/CLR)

Menunjuk akhir urutan terkontrol terbalik.

Sintaks

reverse_iterator rend();

Keterangan

Fungsi anggota mengembalikan iterator terbalik yang menunjuk tepat di luar awal urutan yang dikontrol. Oleh karena itu, ini menunjuk end urutan terbalik. Anda menggunakannya untuk mendapatkan iterator yang menunjuk current akhir urutan terkontrol yang terlihat dalam urutan terbalik, tetapi statusnya dapat berubah jika panjang urutan terkontrol berubah.

Contoh

// cliext_vector_rend.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// inspect first two items
    cliext::vector<wchar_t>::reverse_iterator rit = c1.rend();
    --rit;
    System::Console::WriteLine("*-- --rend() = {0}", *--rit);
    System::Console::WriteLine("*--rend() = {0}", *++rit);

// alter first two items and reinspect
    *--rit = L'x';
    *++rit = L'y';
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
*-- --rend() = b
*--rend() = a
y x c

vektor::reserve (STL/CLR)

Memastikan kapasitas pertumbuhan minimum untuk kontainer.

Sintaks

void reserve(size_type count);

Parameter

count
Kapasitas minimum baru kontainer.

Keterangan

Fungsi anggota memastikan bahwa capacity() selanjutnya mengembalikan setidaknya hitungan. Anda menggunakannya untuk memastikan bahwa kontainer tidak perlu merealokasi penyimpanan untuk urutan yang dikontrol sampai telah tumbuh ke ukuran yang ditentukan.

Contoh

// cliext_vector_reserve.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for (int i = 0; i < c1.size(); ++i)
        System::Console::Write("{0} ", c1.at(i));
    System::Console::WriteLine();

// increase capacity
    cliext::vector<wchar_t>::size_type cap = c1.capacity();
    System::Console::WriteLine("capacity() = {0}, ok = {1}",
        cap, c1.size() <= cap);
    c1.reserve(cap + 5);
    System::Console::WriteLine("capacity() = {0}, ok = {1}",
        c1.capacity(), cap + 5 <= c1.capacity());
    return (0);
    }
a b c
capacity() = 4, ok = True
capacity() = 9, ok = True

vektor::resize (STL/CLR)

Mengubah jumlah elemen.

Sintaks

void resize(size_type new_size);
void resize(size_type new_size, value_type val);

Parameter

new_size
Ukuran baru urutan terkontrol.

Val
Nilai elemen padding.

Keterangan

Anggota berfungsi memastikan bahwa vektor::size (STL/CLR)() selanjutnya mengembalikan new_size. Jika harus membuat urutan terkontrol lebih lama, fungsi anggota pertama menambahkan elemen dengan nilai value_type(), sementara fungsi anggota kedua menambahkan elemen dengan value val. Untuk membuat urutan terkontrol lebih pendek, kedua fungsi anggota secara efektif menghapus waktu vektor elemen terakhir::size (STL/CLR).() -new_size Anda menggunakannya untuk memastikan bahwa urutan terkontrol memiliki ukuran new_size, dengan memangkas atau mengayuh urutan yang dikontrol saat ini.

Contoh

// cliext_vector_resize.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
// construct an empty container and pad with default values
    cliext::vector<wchar_t> c1;
    System::Console::WriteLine("size() = {0}", c1.size());
    c1.resize(4);
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", (int)elem);
    System::Console::WriteLine();

// resize to empty
    c1.resize(0);
    System::Console::WriteLine("size() = {0}", c1.size());

// resize and pad
    c1.resize(5, L'x');
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
size() = 0
0 0 0 0
size() = 0
x x x x x

vektor::reverse_iterator (STL/CLR)

Jenis iterator terbalik untuk urutan yang dikontrol.

Sintaks

typedef T3 reverse_iterator;

Keterangan

Jenis menjelaskan objek jenis yang tidak ditentukan T3 yang dapat berfungsi sebagai iterator terbalik untuk urutan yang dikontrol.

Contoh

// cliext_vector_reverse_iterator.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c" reversed
    cliext::vector<wchar_t>::reverse_iterator rit = c1.rbegin();
    for (; rit != c1.rend(); ++rit)
        System::Console::Write("{0} ", *rit);
    System::Console::WriteLine();

// alter first element and redisplay
    rit = c1.rbegin();
    *rit = L'x';
    for (; rit != c1.rend(); ++rit)
        System::Console::Write("{0} ", *rit);
    System::Console::WriteLine();
    return (0);
    }
c b a
x b a

vektor::size (STL/CLR)

Menghitung jumlah elemen.

Sintaks

size_type size();

Keterangan

Fungsi anggota mengembalikan panjang urutan yang dikontrol. Anda menggunakannya untuk menentukan jumlah elemen yang saat ini berada dalam urutan terkontrol. Jika yang Anda pedulikan hanyalah apakah urutan memiliki ukuran bukan nol, lihat vektor::empty (STL/CLR)().

Contoh

// cliext_vector_size.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    System::Console::WriteLine("size() = {0} starting with 3", c1.size());

// clear the container and reinspect
    c1.clear();
    System::Console::WriteLine("size() = {0} after clearing", c1.size());

// add elements and clear again
    c1.push_back(L'a');
    c1.push_back(L'b');
    System::Console::WriteLine("size() = {0} after adding 2", c1.size());
    return (0);
    }
a b c
size() = 3 starting with 3
size() = 0 after clearing
size() = 2 after adding 2

vektor::size_type (STL/CLR)

Jenis jarak yang ditandatangani antara dua elemen.

Sintaks

typedef int size_type;

Keterangan

Jenis ini menjelaskan jumlah elemen non-negatif.

Contoh

// cliext_vector_size_type.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// compute positive difference
    cliext::vector<wchar_t>::size_type diff = c1.end() - c1.begin();
    System::Console::WriteLine("end()-begin() = {0}", diff);
    return (0);
    }
a b c
end()-begin() = 3

vektor::swap (STL/CLR)

Menukar isi dua kontainer.

Sintaks

void swap(vector<Value>% right);

Parameter

right
Kontainer untuk menukar konten dengan.

Keterangan

Fungsi anggota menukar urutan terkontrol antara *this dan kanan. Ini melakukannya dalam waktu konstan dan tidak melemparkan pengecualian. Anda menggunakannya sebagai cara cepat untuk bertukar konten dua kontainer.

Contoh

// cliext_vector_swap.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display initial contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct another container with repetition of values
    cliext::vector<wchar_t> c2(5, L'x');
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// swap and redisplay
    c1.swap(c2);
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
x x x x x
x x x x x
a b c

vektor::to_array (STL/CLR)

Menyalin urutan terkontrol ke array baru.

Sintaks

cli::array<Value>^ to_array();

Keterangan

Fungsi anggota mengembalikan array yang berisi urutan terkontrol. Anda menggunakannya untuk mendapatkan salinan urutan terkontrol dalam bentuk array.

Contoh

// cliext_vector_to_array.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// copy the container and modify it
    cli::array<wchar_t>^ a1 = c1.to_array();

    c1.push_back(L'd');
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// display the earlier array copy
    for each (wchar_t elem in a1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c d
a b c

vektor::value_type (STL/CLR)

Jenis elemen.

Sintaks

typedef Value value_type;

Keterangan

Jenisnya adalah sinonim untuk parameter templat Nilai.

Contoh

// cliext_vector_value_type.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c" using value_type
    for (cliext::vector<wchar_t>::iterator it = c1.begin();
        it != c1.end(); ++it)
        {   // store element in value_type object
        cliext::vector<wchar_t>::value_type val = *it;

        System::Console::Write("{0} ", val);
        }
    System::Console::WriteLine();
    return (0);
    }
a b c

vektor::vektor (STL/CLR)

Membuat objek kontainer.

Sintaks

vector();
vector(vector<Value>% right);
vector(vector<Value>^ right);
explicit vector(size_type count);
vector(size_type count, value_type val);
template<typename InIt>
    vector(InIt first, InIt last);
vector(System::Collections::Generic::IEnumerable<Value>^ right);

Parameter

count
Jumlah elemen yang akan disisipkan.

first
Awal rentang yang akan disisipkan.

last
Akhir rentang untuk disisipkan.

right
Objek atau rentang untuk disisipkan.

Val
Nilai elemen yang akan disisipkan.

Keterangan

Konstruktor:

vector();

menginisialisasi urutan terkontrol tanpa elemen. Anda menggunakannya untuk menentukan urutan awal yang dikontrol kosong.

Konstruktor:

vector(vector<Value>% right);

menginisialisasi urutan terkontrol dengan urutan [right.begin(), right.end()). Anda menggunakannya untuk menentukan urutan terkontrol awal yang merupakan salinan urutan yang dikontrol oleh objek vektor ke kanan.

Konstruktor:

vector(vector<Value>^ right);

menginisialisasi urutan terkontrol dengan urutan [right->begin(), right->end()). Anda menggunakannya untuk menentukan urutan terkontrol awal yang merupakan salinan urutan yang dikontrol oleh objek vektor yang handelnya tepat.

Konstruktor:

explicit vector(size_type count);

menginisialisasi urutan terkontrol dengan elemen hitungan masing-masing dengan nilai value_type(). Anda menggunakannya untuk mengisi kontainer dengan elemen yang semuanya memiliki nilai default.

Konstruktor:

vector(size_type count, value_type val);

menginisialisasi urutan terkontrol dengan elemen hitungan masing-masing dengan value val. Anda menggunakannya untuk mengisi kontainer dengan elemen yang semuanya memiliki nilai yang sama.

Konstruktor:

template<typename InIt>

vector(InIt first, InIt last);

menginisialisasi urutan terkontrol dengan urutan [first, last). Anda menggunakannya untuk membuat urutan terkontrol sebagai salinan urutan lain.

Konstruktor:

vector(System::Collections::Generic::IEnumerable<Value>^ right);

menginisialisasi urutan terkontrol dengan urutan yang ditunjuk oleh kanan enumerator. Anda menggunakannya untuk membuat urutan terkontrol salinan urutan lain yang dijelaskan oleh enumerator.

Contoh

// cliext_vector_construct.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
// construct an empty container
    cliext::vector<wchar_t> c1;
    System::Console::WriteLine("size() = {0}", c1.size());

// construct with a repetition of default values
    cliext::vector<wchar_t> c2(3);
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", (int)elem);
    System::Console::WriteLine();

// construct with a repetition of values
    cliext::vector<wchar_t> c3(6, L'x');
    for each (wchar_t elem in c3)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct with an iterator range
    cliext::vector<wchar_t>::iterator it = c3.end();
    cliext::vector<wchar_t> c4(c3.begin(), --it);
    for each (wchar_t elem in c4)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct with an enumeration
    cliext::vector<wchar_t> c5(   // NOTE: cast is not needed
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c3);
    for each (wchar_t elem in c5)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct by copying another container
    cliext::vector<wchar_t> c7(c3);
    for each (wchar_t elem in c7)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// construct by copying a container handle
    cliext::vector<wchar_t> c8(%c3);
    for each (wchar_t elem in c8)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    return (0);
    }
size() = 0
0 0 0
x x x x x x
x x x x x
x x x x x x
x x x x x x
x x x x x x

operator!= (vektor) (STL/CLR)

Vektor tidak sama dengan perbandingan.

Sintaks

template<typename Value>
    bool operator!=(vector<Value>% left,
        vector<Value>% right);

Parameter

left
Kontainer kiri untuk dibandingkan.

right
Kontainer yang tepat untuk dibandingkan.

Keterangan

Fungsi operator mengembalikan !(left == right). Anda menggunakannya untuk menguji apakah kiri tidak diurutkan sama dengan kanan ketika kedua vektor dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_vector_operator_ne.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2.push_back(L'a');
    c2.push_back(L'b');
    c2.push_back(L'd');

// display contents " a b d"
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("[a b c] != [a b c] is {0}",
        c1 != c1);
    System::Console::WriteLine("[a b c] != [a b d] is {0}",
        c1 != c2);
    return (0);
    }
a b c
a b d
[a b c] != [a b c] is False
[a b c] != [a b d] is True

operator< (Vektor) (STL/CLR)

Vektor kurang dari perbandingan.

Sintaks

template<typename Value>
    bool operator<(vector<Value>% left,
        vector<Value>% right);

Parameter

left
Kontainer kiri untuk dibandingkan.

right
Kontainer yang tepat untuk dibandingkan.

Keterangan

Fungsi operator mengembalikan true jika, untuk posisi i terendah yang !(right[i] < left[i]) juga benar bahwa left[i] < right[i]. Jika tidak, itu mengembalikan left->size() < right->size() Anda menggunakannya untuk menguji apakah kiri diurutkan sebelum kanan ketika kedua vektor dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_vector_operator_lt.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2.push_back(L'a');
    c2.push_back(L'b');
    c2.push_back(L'd');

// display contents " a b d"
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("[a b c] < [a b c] is {0}",
        c1 < c1);
    System::Console::WriteLine("[a b c] < [a b d] is {0}",
        c1 < c2);
    return (0);
    }
a b c
a b d
[a b c] < [a b c] is False
[a b c] < [a b d] is True

operator<= (Vektor) (STL/CLR)

Vektor kurang dari atau perbandingan yang sama.

Sintaks

template<typename Value>
    bool operator<=(vector<Value>% left,
        vector<Value>% right);

Parameter

left
Kontainer kiri untuk dibandingkan.

right
Kontainer yang tepat untuk dibandingkan.

Keterangan

Fungsi operator mengembalikan !(right < left). Anda menggunakannya untuk menguji apakah kiri tidak diurutkan setelah kanan ketika kedua vektor dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_vector_operator_le.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2.push_back(L'a');
    c2.push_back(L'b');
    c2.push_back(L'd');

// display contents " a b d"
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("[a b c] <= [a b c] is {0}",
        c1 <= c1);
    System::Console::WriteLine("[a b d] <= [a b c] is {0}",
        c2 <= c1);
    return (0);
    }
a b c
a b d
[a b c] <= [a b c] is True
[a b d] <= [a b c] is False

operator== (vektor) (STL/CLR)

Perbandingan vektor sama.

Sintaks

template<typename Value>
    bool operator==(vector<Value>% left,
        vector<Value>% right);

Parameter

left
Kontainer kiri untuk dibandingkan.

right
Kontainer yang tepat untuk dibandingkan.

Keterangan

Fungsi operator mengembalikan true hanya jika urutan yang dikontrol oleh kiri dan kanan memiliki panjang yang sama dan, untuk setiap posisi i, left[i] ==right[i]. Anda menggunakannya untuk menguji apakah kiri diurutkan sama dengan kanan ketika kedua vektor dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_vector_operator_eq.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2.push_back(L'a');
    c2.push_back(L'b');
    c2.push_back(L'd');

// display contents " a b d"
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("[a b c] == [a b c] is {0}",
        c1 == c1);
    System::Console::WriteLine("[a b c] == [a b d] is {0}",
        c1 == c2);
    return (0);
    }
a b c
a b d
[a b c] == [a b c] is True
[a b c] == [a b d] is False

operator> (Vektor) (STL/CLR)

Vektor lebih besar dari perbandingan.

Sintaks

template<typename Value>
    bool operator>(vector<Value>% left,
        vector<Value>% right);

Parameter

left
Kontainer kiri untuk dibandingkan.

right
Kontainer yang tepat untuk dibandingkan.

Keterangan

Fungsi operator mengembalikan right<left. Anda menggunakannya untuk menguji apakah kiri diurutkan setelah kanan ketika dua vektor dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_vector_operator_gt.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2.push_back(L'a');
    c2.push_back(L'b');
    c2.push_back(L'd');

// display contents " a b d"
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("[a b c] > [a b c] is {0}",
        c1 > c1);
    System::Console::WriteLine("[a b d] > [a b c] is {0}",
        c2 > c1);
    return (0);
    }
a b c
a b d
[a b c] > [a b c] is False
[a b d] > [a b c] is True

operator>= (Vektor) (STL/CLR)

Vektor lebih besar dari atau perbandingan yang sama.

Sintaks

template<typename Value>
    bool operator>=(vector<Value>% left,
        vector<Value>% right);

Parameter

left
Kontainer kiri untuk dibandingkan.

right
Kontainer yang tepat untuk dibandingkan.

Keterangan

Fungsi operator mengembalikan !(left < right). Anda menggunakannya untuk menguji apakah kiri tidak diurutkan sebelum kanan ketika kedua vektor dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_vector_operator_ge.cpp
// compile with: /clr
#include <cliext/vector>

int main()
    {
    cliext::vector<wchar_t> c1;
    c1.push_back(L'a');
    c1.push_back(L'b');
    c1.push_back(L'c');

// display contents " a b c"
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

// assign to a new container
    cliext::vector<wchar_t> c2;
    c2.push_back(L'a');
    c2.push_back(L'b');
    c2.push_back(L'd');

// display contents " a b d"
    for each (wchar_t elem in c2)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();

    System::Console::WriteLine("[a b c] >= [a b c] is {0}",
        c1 >= c1);
    System::Console::WriteLine("[a b c] >= [a b d] is {0}",
        c1 >= c2);
    return (0);
    }
a b c
a b d
[a b c] >= [a b c] is True
[a b c] >= [a b d] is False