Bagikan melalui


deque (STL/CLR)

Kelas templat menjelaskan objek yang mengontrol urutan elemen dengan panjang yang bervariasi yang memiliki akses acak. Anda menggunakan kontainer deque untuk mengelola urutan elemen yang terlihat seperti blok penyimpanan yang berdampingan, tetapi yang dapat tumbuh atau menyusut di kedua ujungnya tanpa perlu menyalin elemen yang tersisa. Dengan demikian dapat menerapkan secara efisien .double-ended queue (Oleh karena itu nama.)

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

Sintaks

template<typename Value>
    ref class deque
        :   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::IDeque<GValue>
    { ..... };

Parameter

GValue
Jenis generik elemen dalam urutan terkontrol.

Nilai
Jenis elemen dalam urutan terkontrol.

Persyaratan

Header:<cliext/deque>

Namespace: cliext

Deklarasi

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

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 IDeque<> Pertahankan kontainer generik.

Keterangan

Objek mengalokasikan dan membebaskan penyimpanan untuk urutan yang dikontrolnya melalui array handel tersimpan yang menunjuk blok Value elemen. Array tumbuh sesuai permintaan. Pertumbuhan terjadi sedih sehingga biaya prepending atau penambahan elemen baru adalah waktu yang konstan, dan tidak ada elemen yang tersisa yang terganggu. Anda juga dapat menghapus elemen di kedua ujungnya dalam waktu konstan, dan tanpa mengganggu elemen yang tersisa. Dengan demikian, deque adalah kandidat yang baik untuk kontainer yang mendasar untuk antrean kelas templat (STL/CLR) atau tumpukan kelas templat (STL/CLR).

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

Iterator deque menyimpan handel ke objek deque terkait, bersama dengan bias elemen yang ditunjuknya. Anda hanya dapat menggunakan iterator dengan objek kontainer terkait. Bias elemen deque belum tentu sama dengan posisinya. Elemen pertama yang dimasukkan memiliki bias nol, elemen tambahan berikutnya memiliki bias 1, tetapi elemen prepended berikutnya memiliki bias -1.

Menyisipkan atau menghapus elemen di kedua ujungnya tidak mengubah nilai elemen yang disimpan pada bias yang valid. Namun, menyisipkan atau menghapus elemen interior dapat mengubah nilai elemen yang disimpan pada bias 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 deque tetap berlaku selama biasnya menunjuk elemen yang valid. Selain itu, iterator yang valid tetap tidak dapat direferensikasi -- Anda dapat menggunakannya untuk mengakses atau mengubah nilai elemen yang ditunjuknya -- selama biasnya tidak sama dengan bias untuk iterator yang dikembalikan oleh end().

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

deque::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_deque_assign.cpp
// compile with: /clr
#include <cliext/deque>

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

    // assign a repetition of values
    cliext::deque<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

deque::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_deque_at.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_back.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_back_item.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_begin.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::clear (STL/CLR)

Menghapus semua elemen.

Sintaks

void clear();

Keterangan

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

Contoh

// cliext_deque_clear.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_const_iterator.cpp
// compile with: /clr
#include <cliext/deque>

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

    // display contents " a b c"
    cliext::deque<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

deque::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_deque_const_reference.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<wchar_t>::const_iterator cit = c1.begin();
    for (; cit != c1.end(); ++cit)
        {   // get a const reference to an element
        cliext::deque<wchar_t>::const_reference cref = *cit;
        System::Console::Write("{0} ", cref);
        }
    System::Console::WriteLine();
    return (0);
    }
a b c

deque::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_deque_const_reverse_iterator.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<wchar_t>::const_reverse_iterator crit = c1.rbegin();
    cliext::deque<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

deque::d eque (STL/CLR)

Membuat objek kontainer.

Sintaks

deque();
deque(deque<Value>% right);
deque(deque<Value>^ right);
explicit deque(size_type count);
deque(size_type count, value_type val);
template<typename InIt>
    deque(InIt first, InIt last);
deque(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:

deque();

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

Konstruktor:

deque(deque<Value>% right);

menginisialisasi urutan terkontrol dengan urutan [right.begin(), right.end()). Anda menggunakannya untuk menentukan urutan awal yang dikontrol yang merupakan salinan urutan yang dikontrol oleh objek deque ke kanan. Untuk informasi selengkapnya tentang iterator, lihat deque::begin (STL/CLR) dan deque::end (STL/CLR).

Konstruktor:

deque(deque<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 deque yang handelnya tepat.

Konstruktor:

explicit deque(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:

deque(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>

deque(InIt first, InIt last);

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

Konstruktor:

deque(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_deque_construct.cpp
// compile with: /clr
#include <cliext/deque>

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

    // construct with a repetition of default values
    cliext::deque<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::deque<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::deque<wchar_t>::iterator it = c3.end();
    cliext::deque<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::deque<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::deque<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::deque<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

deque::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_deque_difference_type.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<wchar_t>::difference_type diff = 0;
    for (cliext::deque<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::deque<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

deque::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 deque::size (STL/CLR)() == 0. Anda menggunakannya untuk menguji apakah deque kosong.

Contoh

// cliext_deque_empty.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_end.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::erase (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 deque::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_deque_erase.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::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_deque_front.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_front_item.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::generic_container (STL/CLR)

Jenis antarmuka generik untuk kontainer.

Sintaks

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

Keterangan

Jenis menjelaskan antarmuka generik untuk kelas kontainer templat ini.

Contoh

// cliext_deque_generic_container.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::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_deque_generic_iterator.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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::deque<wchar_t>::generic_iterator gcit = gc1->begin();
    cliext::deque<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

deque::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_deque_generic_reverse_iterator.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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::deque<wchar_t>::generic_reverse_iterator gcit = gc1->rbegin();
    cliext::deque<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

deque::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_deque_generic_value.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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::deque<wchar_t>::generic_iterator gcit = gc1->begin();
    cliext::deque<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

deque::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_deque_insert.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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::deque<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

deque::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_deque_iterator.cpp
// compile with: /clr
#include <cliext/deque>

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

    // display contents " a b c"
    cliext::deque<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

deque::operator!= (STL/CLR)

Hapus perbandingan yang tidak sama.

Sintaks

template<typename Value>
    bool operator!=(deque<Value>% left,
        deque<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 dua deque dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_deque_operator_ne.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::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_deque_operator_sub.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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 deque dengan satu elemen di bagian belakang.

Contoh

// cliext_deque_pop_back.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::p op_front (STL/CLR)

Menghapus elemen pertama.

Sintaks

void pop_front();

Keterangan

Fungsi anggota menghapus elemen pertama dari urutan yang dikontrol, yang harus tidak kosong. Anda menggunakannya untuk mempersingkat deque dengan satu elemen di bagian depan.

Contoh

// cliext_deque_pop_front.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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_front();
    for each (wchar_t elem in c1)
        System::Console::Write("{0} ", elem);
    System::Console::WriteLine();
    return (0);
    }
a b c
b c

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

Contoh

// cliext_deque_push_back.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::p ush_front (STL/CLR)

Menambahkan elemen pertama baru.

Sintaks

void push_front(value_type val);

Keterangan

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

Contoh

// cliext_deque_push_front.cpp
// compile with: /clr
#include <cliext/deque>

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

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

deque::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_deque_rbegin.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::reference (STL/CLR)

Jenis referensi ke elemen.

Sintaks

typedef value_type% reference;

Keterangan

Jenis ini menjelaskan referensi ke elemen.

Contoh

// cliext_deque_reference.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<wchar_t>::iterator it = c1.begin();
    for (; it != c1.end(); ++it)
        {   // get a reference to an element
        cliext::deque<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::deque<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

deque::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_deque_rend.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::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 deque::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 elemen terakhir deque::size (STL/CLR)() -new_size kali. Anda menggunakannya untuk memastikan bahwa urutan terkontrol memiliki ukuran new_size, dengan memangkas atau mengayuh urutan yang dikontrol saat ini.

Contoh

// cliext_deque_resize.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
// construct an empty container and pad with default values
    cliext::deque<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

deque::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_deque_reverse_iterator.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::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 deque::empty (STL/CLR)().

Contoh

// cliext_deque_size.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::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_deque_size_type.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<wchar_t>::size_type diff = c1.end() - c1.begin();
    System::Console::WriteLine("end()-begin() = {0}", diff);
    return (0);
    }
a b c
end()-begin() = 3

deque::swap (STL/CLR)

Menukar isi dua kontainer.

Sintaks

void swap(deque<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_deque_swap.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

deque::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_deque_to_array.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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

deque::value_type (STL/CLR)

Jenis elemen.

Sintaks

typedef Value value_type;

Keterangan

Jenisnya adalah sinonim untuk parameter templat Nilai.

Contoh

// cliext_deque_value_type.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<wchar_t>::iterator it = c1.begin();
        it != c1.end(); ++it)
        {   // store element in value_type object
        cliext::deque<wchar_t>::value_type val = *it;

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

operator< (deque) (STL/CLR)

Hapus kurang dari perbandingan.

Sintaks

template<typename Value>
    bool operator<(deque<Value>% left,
        deque<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 dua deque dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_deque_operator_lt.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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<= (deque) (STL/CLR)

Hapus kurang dari atau perbandingan yang sama.

Sintaks

template<typename Value>
    bool operator<=(deque<Value>% left,
        deque<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 dua deque dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_deque_operator_le.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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= (deque) (STL/CLR)

Menggantikan urutan terkontrol.

Sintaks

deque<Value>% operator=(deque<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_deque_operator_as.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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

operator== (deque) (STL/CLR)

Hapus perbandingan yang sama.

Sintaks

template<typename Value>
    bool operator==(deque<Value>% left,
        deque<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 dua deque dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_deque_operator_eq.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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> (deque) (STL/CLR)

Hapus lebih besar dari perbandingan.

Sintaks

template<typename Value>
    bool operator>(deque<Value>% left,
        deque<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 deque dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_deque_operator_gt.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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>= (deque) (STL/CLR)

Hapus lebih besar dari atau perbandingan yang sama.

Sintaks

template<typename Value>
    bool operator>=(deque<Value>% left,
        deque<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 dua deque dibandingkan elemen berdasarkan elemen.

Contoh

// cliext_deque_operator_ge.cpp
// compile with: /clr
#include <cliext/deque>

int main()
    {
    cliext::deque<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::deque<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