daftar (STL/CLR)
Kelas templat menjelaskan objek yang mengontrol urutan elemen dengan panjang yang bervariasi yang memiliki akses dua arah. Anda menggunakan kontainer list
untuk mengelola urutan elemen sebagai daftar node yang ditautkan dua arah, masing-masing menyimpan satu elemen.
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 list
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
Microsoft::VisualC::StlClr::IList<GValue>
{ ..... };
Parameter
Nilai
Jenis elemen dalam urutan terkontrol.
Persyaratan
Header:<cliext/list>
Namespace: cliext
Deklarasi
Definisi Tipe | Deskripsi |
---|---|
list::const_iterator (STL/CLR) | Jenis iterator konstan untuk urutan terkontrol. |
list::const_reference (STL/CLR) | Jenis referensi konstanta ke elemen. |
list::const_reverse_iterator (STL/CLR) | Jenis iterator terbalik konstan untuk urutan terkontrol. |
list::d ifference_type (STL/CLR) | Jenis jarak yang ditandatangani antara dua elemen. |
list::generic_container (STL/CLR) | Jenis antarmuka generik untuk kontainer. |
list::generic_iterator (STL/CLR) | Jenis iterator untuk antarmuka generik untuk kontainer. |
list::generic_reverse_iterator (STL/CLR) | Jenis iterator terbalik untuk antarmuka generik untuk kontainer. |
list::generic_value (STL/CLR) | Jenis elemen untuk antarmuka generik untuk kontainer. |
list::iterator (STL/CLR) | Jenis iterator untuk urutan yang dikontrol. |
list::reference (STL/CLR) | Jenis referensi ke elemen. |
list::reverse_iterator (STL/CLR) | Jenis iterator terbalik untuk urutan yang dikontrol. |
list::size_type (STL/CLR) | Jenis jarak yang ditandatangani antara dua elemen. |
list::value_type (STL/CLR) | Jenis elemen. |
Fungsi Anggota | Deskripsi |
---|---|
list::assign (STL/CLR) | Menggantikan semua elemen. |
list::back (STL/CLR) | Mengakses elemen terakhir. |
list::begin (STL/CLR) | Menunjuk awal urutan yang dikontrol. |
list::clear (STL/CLR) | Menghapus semua elemen. |
list::empty (STL/CLR) | Menguji apakah tidak ada elemen yang ada. |
list::end (STL/CLR) | Menunjuk akhir urutan yang dikontrol. |
list::erase (STL/CLR) | Menghapus elemen pada posisi yang ditentukan. |
list::front (STL/CLR) | Mengakses elemen pertama. |
list::insert (STL/CLR) | Menambahkan elemen pada posisi tertentu. |
list::list (STL/CLR) | Membuat objek kontainer. |
list::merge (STL/CLR) | Menggabungkan dua urutan terkontrol yang diurutkan. |
list::p op_back (STL/CLR) | Menghapus elemen terakhir. |
list::p op_front (STL/CLR) | Menghapus elemen pertama. |
list::p ush_back (STL/CLR) | Menambahkan elemen terakhir baru. |
list::p ush_front (STL/CLR) | Menambahkan elemen pertama baru. |
list::rbegin (STL/CLR) | Menunjuk awal urutan terkontrol terbalik. |
list::remove (STL/CLR) | Menghapus elemen dengan nilai tertentu. |
list::remove_if (STL/CLR) | Menghapus elemen yang lulus pengujian tertentu. |
list::rend (STL/CLR) | Menunjuk akhir urutan terkontrol terbalik. |
list::resize (STL/CLR) | Mengubah jumlah elemen. |
list::reverse (STL/CLR) | Membalikkan urutan yang dikontrol. |
list::size (STL/CLR) | Menghitung jumlah elemen. |
list::sort (STL/CLR) | Memerintahkan urutan terkontrol. |
list::splice (STL/CLR) | Memulihkan tautan antar simpul. |
list::swap (STL/CLR) | Menukar isi dua kontainer. |
list::to_array (STL/CLR) | Menyalin urutan terkontrol ke array baru. |
list::unique (STL/CLR) | Menghapus elemen yang berdekatan yang lulus pengujian tertentu. |
Properti | Deskripsi |
---|---|
list::back_item (STL/CLR) | Mengakses elemen terakhir. |
list::front_item (STL/CLR) | Mengakses elemen pertama. |
Operator | Deskripsi |
---|---|
list::operator= (STL/CLR) | Menggantikan urutan terkontrol. |
operator!= (daftar) (STL/CLR) | Menentukan apakah objek list tidak sama dengan objek lain list . |
operator< (daftar) (STL/CLR) | Menentukan apakah list objek kurang dari objek lain list . |
operator<= (daftar) (STL/CLR) | Menentukan apakah objek list kurang dari atau sama dengan objek lain list . |
operator== (daftar) (STL/CLR) | Menentukan apakah list objek sama dengan objek lain list . |
operator> (daftar) (STL/CLR) | Menentukan apakah list objek lebih besar dari objek lain list . |
operator>= (daftar) (STL/CLR) | Menentukan apakah list objek lebih besar dari atau sama dengan objek lain list . |
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. |
Nilai IList<> | Pertahankan kontainer generik. |
Keterangan
Objek mengalokasikan dan membebaskan penyimpanan untuk urutan yang dikontrolnya sebagai simpul individual dalam daftar tautan dua arah. Ini mengatur ulang elemen dengan mengubah tautan antara simpul, tidak pernah dengan menyalin konten satu node ke node lain. Itu berarti Anda dapat menyisipkan dan menghapus elemen dengan bebas tanpa mengganggu elemen yang tersisa. Dengan demikian, daftar adalah kandidat yang baik untuk kontainer dasar untuk antrean kelas templat (STL/CLR) atau tumpukan kelas templat (STL/CLR).
Objek list
mendukung iterator dua arah, yang berarti Anda dapat melangkah ke elemen yang berdekatan mengingat iterator yang menunjuk elemen dalam urutan terkontrol. Simpul kepala khusus sesuai dengan iterator yang dikembalikan oleh list::end (STL/CLR)()
. Anda dapat mengurangi iterator ini untuk mencapai elemen terakhir dalam urutan terkontrol, jika ada. Anda dapat menaikkan iterator daftar untuk mencapai simpul kepala, dan kemudian akan dibandingkan dengan end()
. Tetapi Anda tidak dapat mendereferensikan iterator yang dikembalikan oleh end()
.
Perhatikan bahwa Anda tidak dapat merujuk ke elemen daftar secara langsung mengingat posisi numeriknya -- yang memerlukan iterator akses acak. Jadi daftar tidak dapat digunakan sebagai kontainer dasar untuk kelas templat priority_queue (STL/CLR).
Iterator daftar menyimpan handel ke simpul daftar terkait, yang pada gilirannya menyimpan handel ke kontainer terkait. Anda hanya dapat menggunakan iterator dengan objek kontainer terkait. Iterator daftar tetap valid selama simpul daftar terkait dikaitkan dengan beberapa daftar. Selain itu, iterator yang valid dapat didereferensikan -- Anda dapat menggunakannya untuk mengakses atau mengubah nilai elemen yang ditunjuknya -- selama tidak sama dengan 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
list::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_list_assign.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// assign a repetition of values
cliext::list<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
cliext::list<wchar_t>::iterator it = c1.end();
c2.assign(c1.begin(), --it);
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
list::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_list_back.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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_list_back_item.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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_list_begin.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::clear (STL/CLR)
Menghapus semua elemen.
Sintaks
void clear();
Keterangan
Fungsi anggota secara efektif memanggil list::erase (STL/CLR)(
list::begin (STL/CLR)(),
list::end (STL/CLR).())
Anda menggunakannya untuk memastikan bahwa urutan yang dikontrol kosong.
Contoh
// cliext_list_clear.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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_list_const_iterator.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
cliext::list<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
list::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_list_const_reference.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<wchar_t>::const_iterator cit = c1.begin();
for (; cit != c1.end(); ++cit)
{ // get a const reference to an element
cliext::list<wchar_t>::const_reference cref = *cit;
System::Console::Write("{0} ", cref);
}
System::Console::WriteLine();
return (0);
}
a b c
list::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_list_const_reverse_iterator.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<wchar_t>::const_reverse_iterator crit = c1.rbegin();
cliext::list<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
list::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_list_difference_type.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<wchar_t>::difference_type diff = 0;
for (cliext::list<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::list<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
list::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 list::size (STL/CLR)() == 0
. Anda menggunakannya untuk menguji apakah daftar kosong.
Contoh
// cliext_list_empty.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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 akhir urutan yang dikontrol; statusnya tidak berubah jika panjang urutan terkontrol berubah.
Contoh
// cliext_list_end.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::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 list::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_list_erase.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::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_list_front.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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_list_front_item.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::generic_container (STL/CLR)
Jenis antarmuka generik untuk kontainer.
Sintaks
typedef Microsoft::VisualC::StlClr::
IList<generic_value>
generic_container;
Keterangan
Jenis menjelaskan antarmuka generik untuk kelas kontainer templat ini.
Contoh
// cliext_list_generic_container.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::generic_iterator (STL/CLR)
Jenis iterator untuk digunakan dengan antarmuka generik untuk kontainer.
Sintaks
typedef Microsoft::VisualC::StlClr::Generic::
ContainerBidirectionalIterator<generic_value>
generic_iterator;
Keterangan
Jenis ini menjelaskan iterator generik yang dapat digunakan dengan antarmuka generik untuk kelas kontainer templat ini.
Contoh
// cliext_list_generic_iterator.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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::list<wchar_t>::generic_iterator gcit = gc1->begin();
cliext::list<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
list::generic_reverse_iterator (STL/CLR)
Jenis iterator terbalik untuk digunakan dengan antarmuka generik untuk kontainer.
Sintaks
typedef Microsoft::VisualC::StlClr::Generic::
ReverseBidirectionalIterator<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_list_generic_reverse_iterator.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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::list<wchar_t>::generic_reverse_iterator gcit = gc1->rbegin();
cliext::list<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
list::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_list_generic_value.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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::list<wchar_t>::generic_iterator gcit = gc1->begin();
cliext::list<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
list::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_list_insert.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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::list<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();
// insert a single value using index
it = c2.begin();
++it, ++it, ++it;
c2.insert(it, L'z');
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
list::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_list_iterator.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display contents " a b c"
cliext::list<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
list::list (STL/CLR)
Membuat objek kontainer.
Sintaks
list();
list(list<Value>% right);
list(list<Value>^ right);
explicit list(size_type count);
list(size_type count, value_type val);
template<typename InIt>
list(InIt first, InIt last);
list(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:
list();
menginisialisasi urutan terkontrol tanpa elemen. Anda menggunakannya untuk menentukan urutan awal yang dikontrol kosong.
Konstruktor:
list(list<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 daftar ke kanan.
Konstruktor:
list(list<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 daftar yang handelnya tepat.
Konstruktor:
explicit list(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:
list(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>
list(InIt first, InIt last);
menginisialisasi urutan terkontrol dengan urutan [first
, last
). Anda menggunakannya untuk membuat urutan terkontrol sebagai salinan urutan lain.
Konstruktor:
list(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_list_construct.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
// construct an empty container
cliext::list<wchar_t> c1;
System::Console::WriteLine("size() = {0}", c1.size());
// construct with a repetition of default values
cliext::list<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::list<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::list<wchar_t>::iterator it = c3.end();
cliext::list<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::list<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::list<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::list<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
list::merge (STL/CLR)
Menggabungkan dua urutan terkontrol yang diurutkan.
Sintaks
void merge(list<Value>% right);
template<typename Pred2>
void merge(list<Value>% right, Pred2 pred);
Parameter
pred
Pembanding untuk pasangan elemen.
right
Kontainer untuk digabungkan.
Keterangan
Fungsi anggota pertama menghapus semua elemen dari urutan yang dikontrol dengan kanan dan menyisipkannya dalam urutan terkontrol. Kedua urutan sebelumnya harus diurutkan oleh operator<
-- elemen tidak boleh mengurangi nilai saat Anda maju melalui kedua urutan. Urutan yang dihasilkan juga diurutkan oleh operator<
. Anda menggunakan fungsi anggota ini untuk menggabungkan dua urutan yang meningkatkan nilai menjadi urutan yang juga meningkatkan nilai.
Fungsi anggota kedua bersifat sama dengan yang pertama, kecuali bahwa urutan diurutkan oleh pred
-- pred(X, Y)
harus false untuk elemen X
apa pun yang mengikuti elemen Y
dalam urutan. Anda menggunakannya untuk menggabungkan dua urutan yang diurutkan oleh fungsi predikat atau delegasi yang Anda tentukan.
Kedua fungsi melakukan penggabungan yang stabil -- tidak ada sepasang elemen dalam salah satu urutan terkontrol asli yang dibalik dalam urutan terkontrol yang dihasilkan. Selain itu, jika sepasang elemen X
dan Y
dalam urutan terkontrol yang dihasilkan memiliki urutan yang setara -- !(X < Y) && !(X < Y)
-- elemen dari urutan terkontrol asli muncul sebelum elemen dari urutan yang dikendalikan oleh kanan.
Contoh
// cliext_list_merge.cpp
// compile with: /clr
#include <cliext/list>
typedef cliext::list<wchar_t> Mylist;
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'c');
c1.push_back(L'e');
// display initial contents " a c e"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
cliext::list<wchar_t> c2;
c2.push_back(L'b');
c2.push_back(L'd');
c2.push_back(L'f');
// display initial contents " b d f"
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// merge and display
cliext::list<wchar_t> c3(c1);
c3.merge(c2);
for each (wchar_t elem in c3)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("c2.size() = {0}", c2.size());
// sort descending, merge descending, and redisplay
c1.sort(cliext::greater<wchar_t>());
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
c3.sort(cliext::greater<wchar_t>());
for each (wchar_t elem in c3)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
c3.merge(c1, cliext::greater<wchar_t>());
for each (wchar_t elem in c3)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("c1.size() = {0}", c1.size());
return (0);
}
a c e
b d f
a b c d e f
c2.size() = 0
e c a
f e d c b a
f e e d c c b a a
c1.size() = 0
list::operator= (STL/CLR)
Menggantikan urutan terkontrol.
Sintaks
list<Value>% operator=(list<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_list_operator_as.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::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 daftar dengan satu elemen di bagian belakang.
Contoh
// cliext_list_pop_back.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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 daftar dengan satu elemen di bagian depan.
Contoh
// cliext_list_pop_front.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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 daftar.
Contoh
// cliext_list_push_back.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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 daftar.
Contoh
// cliext_list_push_front.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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_list_rbegin.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::reference (STL/CLR)
Jenis referensi ke elemen.
Sintaks
typedef value_type% reference;
Keterangan
Jenis ini menjelaskan referensi ke elemen.
Contoh
// cliext_list_reference.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<wchar_t>::iterator it = c1.begin();
for (; it != c1.end(); ++it)
{ // get a reference to an element
cliext::list<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::list<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
list::remove (STL/CLR)
Menghapus elemen dengan nilai tertentu.
Sintaks
void remove(value_type val);
Parameter
Val
Nilai elemen yang akan dihapus.
Keterangan
Fungsi anggota menghapus elemen dalam urutan terkontrol yang ((System::Object^)val)->Equals((System::Object^)x)
benar (jika ada). Anda menggunakannya untuk menghapus elemen arbitrer dengan nilai yang ditentukan.
Contoh
// cliext_list_remove.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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();
// fail to remove and redisplay
c1.remove(L'A');
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// remove and redisplay
c1.remove(L'b');
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
list::remove_if (STL/CLR)
Menghapus elemen yang lulus pengujian tertentu.
Sintaks
template<typename Pred1>
void remove_if(Pred1 pred);
Parameter
pred
Uji elemen yang akan dihapus.
Keterangan
Fungsi anggota dihapus dari urutan terkontrol (menghapus) setiap elemen X
yang pred(X)
benar. Anda menggunakannya untuk menghapus semua elemen yang memenuhi kondisi yang Anda tentukan sebagai fungsi atau delegasi.
Contoh
// cliext_list_remove_if.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'b');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a b b b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// fail to remove and redisplay
c1.remove_if(cliext::binder2nd<cliext::equal_to<wchar_t> >(
cliext::equal_to<wchar_t>(), L'd'));
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// remove and redisplay
c1.remove_if(cliext::binder2nd<cliext::not_equal_to<wchar_t> >(
cliext::not_equal_to<wchar_t>(), L'b'));
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b b b c
a b b b c
b b b
list::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_list_rend.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::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 list::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 daftar elemen terakhir::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_list_resize.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
// construct an empty container and pad with default values
cliext::list<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
list::reverse (STL/CLR)
Membalikkan urutan yang dikontrol.
Sintaks
void reverse();
Keterangan
Fungsi anggota membalikkan urutan semua elemen dalam urutan yang dikontrol. Anda menggunakannya untuk mencerminkan daftar elemen.
Contoh
// cliext_list_reverse.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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();
// reverse and redisplay
c1.reverse();
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
c b a
list::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_list_reverse_iterator.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::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 list::empty (STL/CLR)()
.
Contoh
// cliext_list_size.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::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_list_size_type.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<wchar_t>::size_type diff = 0;
for (cliext::list<wchar_t>::iterator it = c1.begin();
it != c1.end(); ++it)
++diff;
System::Console::WriteLine("end()-begin() = {0}", diff);
return (0);
}
a b c
end()-begin() = 3
list::sort (STL/CLR)
Memerintahkan urutan terkontrol.
Sintaks
void sort();
template<typename Pred2>
void sort(Pred2 pred);
Parameter
pred
Pembanding untuk pasangan elemen.
Keterangan
Fungsi anggota pertama mengatur ulang elemen dalam urutan yang dikontrol sehingga diurutkan oleh operator<
-- elemen tidak mengurangi nilai saat Anda maju melalui urutan. Anda menggunakan fungsi anggota ini untuk mengurutkan urutan dalam urutan yang meningkat.
Fungsi anggota kedua bersifat sama dengan yang pertama, kecuali bahwa urutan diurutkan oleh pred
-- pred(X, Y)
salah untuk elemen X
apa pun yang mengikuti elemen Y
dalam urutan yang dihasilkan. Anda menggunakannya untuk mengurutkan urutan dalam urutan yang Anda tentukan oleh fungsi predikat atau delegasi.
Kedua fungsi melakukan pengurutan yang stabil -- tidak ada sepasang elemen dalam urutan terkontrol asli yang dibalik dalam urutan terkontrol yang dihasilkan.
Contoh
// cliext_list_sort.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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();
// sort descending and redisplay
c1.sort(cliext::greater<wchar_t>());
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// sort ascending and redisplay
c1.sort();
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a b c
c b a
a b c
list::splice (STL/CLR)
Tautan restitch antar simpul.
Sintaks
void splice(iterator where, list<Value>% right);
void splice(iterator where, list<Value>% right,
iterator first);
void splice(iterator where, list<Value>% right,
iterator first, iterator last);
Parameter
first
Awal rentang ke splice.
last
Akhir rentang untuk splice.
right
Kontainer untuk memata-matai dari.
di mana
Di mana dalam kontainer untuk memata-matai sebelumnya.
Keterangan
Fungsi anggota pertama menyisipkan urutan yang dikontrol tepat sebelum elemen dalam urutan terkontrol menunjuk ke tempatnya. Ini juga menghapus semua elemen dari kanan. (%right
tidak boleh sama dengan this
.) Anda menggunakannya untuk memata-matai semua dari satu daftar ke daftar lainnya.
Fungsi anggota kedua menghapus elemen yang ditujukkan terlebih dahulu dalam urutan yang dikontrol oleh kanan dan menyisipkannya sebelum elemen dalam urutan terkontrol menunjuk ke di mana. (Jika where
==
first
||
where
== ++first
, tidak ada perubahan yang terjadi.) Anda menggunakannya untuk memata-matai satu elemen dari satu daftar ke daftar lain.
Fungsi anggota ketiga menyisipkan subrange yang ditunjuk oleh [first
, last
) dari urutan yang dikontrol tepat sebelum elemen dalam urutan terkontrol menunjuk ke di mana. Ini juga menghapus subrange asli dari urutan yang dikendalikan oleh kanan. (Jika right == this
, rentang [first
, last
) tidak boleh menyertakan elemen yang ditujukkan oleh di mana.) Anda menggunakannya untuk memuntahkan elemen nol atau lebih berikutnya dari satu daftar ke daftar lain.
Contoh
// cliext_list_splice.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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();
// splice to a new list
cliext::list<wchar_t> c2;
c2.splice(c2.begin(), c1);
System::Console::WriteLine("c1.size() = {0}", c1.size());
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// return one element
c1.splice(c1.end(), c2, c2.begin());
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 remaining elements
c1.splice(c1.begin(), c2, c2.begin(), c2.end());
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
System::Console::WriteLine("c2.size() = {0}", c2.size());
return (0);
}
a b c
c1.size() = 0
a b c
a
b c
b c a
c2.size() = 0
list::swap (STL/CLR)
Menukar isi dua kontainer.
Sintaks
void swap(list<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_list_swap.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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
list::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_list_to_array.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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
list::unique (STL/CLR)
Menghapus elemen yang berdekatan yang lulus pengujian tertentu.
Sintaks
void unique();
template<typename Pred2>
void unique(Pred2 pred);
Parameter
pred
Pembanding untuk pasangan elemen.
Keterangan
Fungsi anggota pertama dihapus dari urutan terkontrol (menghapus) setiap elemen yang dibandingkan dengan elemen sebelumnya -- jika elemen X
mendahului elemen Y
dan X == Y
, fungsi anggota akan menghapus Y
. Anda menggunakannya untuk menghapus semua kecuali satu salinan setiap berikutnya dari elemen yang berdekatan yang dibandingkan. Perhatikan bahwa jika urutan terkontrol diurutkan, seperti dengan memanggil daftar::sort (STL/CLR)()
, fungsi anggota hanya meninggalkan elemen dengan nilai unik. (Oleh karena itu nama).
Fungsi anggota kedua berulah sama dengan yang pertama, kecuali bahwa fungsi tersebut menghapus setiap elemen Y
mengikuti elemen X
yang pred(X, Y)
mana . Anda menggunakannya untuk menghapus semua kecuali satu salinan setiap berikutnya dari elemen yang berdekatan yang memenuhi fungsi predikat atau delegasi yang Anda tentukan. Perhatikan bahwa jika urutan terkontrol diurutkan, seperti dengan memanggil sort(pred)
, fungsi anggota hanya meninggalkan elemen yang tidak memiliki pengurutan yang setara dengan elemen lain.
Contoh
// cliext_list_unique.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(L'c');
// display initial contents " a a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display contents after unique
cliext::list<wchar_t> c2(c1);
c2.unique();
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// display contents after unique(not_equal_to)
c2 = c1;
c2.unique(cliext::not_equal_to<wchar_t>());
for each (wchar_t elem in c2)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
return (0);
}
a a b c
a b c
a a
list::value_type (STL/CLR)
Jenis elemen.
Sintaks
typedef Value value_type;
Keterangan
Jenisnya adalah sinonim untuk parameter templat Nilai.
Contoh
// cliext_list_value_type.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<wchar_t>::iterator it = c1.begin();
it != c1.end(); ++it)
{ // store element in value_type object
cliext::list<wchar_t>::value_type val = *it;
System::Console::Write("{0} ", val);
}
System::Console::WriteLine();
return (0);
}
a b c
operator!= (daftar) (STL/CLR)
Daftar tidak sama dengan perbandingan.
Sintaks
template<typename Value>
bool operator!=(list<Value>% left,
list<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 daftar dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_list_operator_ne.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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<
(daftar) (STL/CLR)
Cantumkan kurang dari perbandingan.
Sintaks
template<typename Value>
bool operator<(list<Value>% left,
list<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 daftar dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_list_operator_lt.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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<=
(daftar) (STL/CLR)
Cantumkan perbandingan yang kurang dari atau sama dengan.
Sintaks
template<typename Value>
bool operator<=(list<Value>% left,
list<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 daftar dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_list_operator_le.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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== (daftar) (STL/CLR)
Mencantumkan perbandingan yang sama.
Sintaks
template<typename Value>
bool operator==(list<Value>% left,
list<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 daftar dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_list_operator_eq.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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>
(daftar) (STL/CLR)
Daftar lebih besar dari perbandingan.
Sintaks
template<typename Value>
bool operator>(list<Value>% left,
list<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 daftar dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_list_operator_gt.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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>=
(daftar) (STL/CLR)
Mencantumkan perbandingan yang lebih besar dari atau sama dengan.
Sintaks
template<typename Value>
bool operator>=(list<Value>% left,
list<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 daftar dibandingkan elemen berdasarkan elemen.
Contoh
// cliext_list_operator_ge.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<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::list<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