liste (STL/CLR)
Şablon sınıfı, çift yönlü erişime sahip öğelerin değişen uzunlukta dizisini denetleen bir nesneyi açıklar. Kapsayıcıyı list
, her biri bir öğeyi depolayarak çift yönlü bağlantılı düğüm listesi olarak bir öğe dizisini yönetmek için kullanırsınız.
Aşağıdaki açıklamada, GValue
ikincisi bir başvuru türü olmadığı sürece Değer ile aynıdır; bu durumda olurValue^
.
Sözdizimi
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>
{ ..... };
Parametreler
Value
Denetlenen sıradaki öğenin türü.
Gereksinimler
Üst bilgi:<cliext/list>
Ad alanı: cliext
Bildirimler
Tür Tanımı | Açıklama |
---|---|
list::const_iterator (STL/CLR) | Denetlenen dizi için bir sabit yineleyici türü. |
list::const_reference (STL/CLR) | Bir öğe için sabit bir başvuru türü. |
list::const_reverse_iterator (STL/CLR) | Denetimli sıra için sabit bir ters yineleyici türü. |
list::difference_type (STL/CLR) | İki öğe arasındaki işaretli mesafenin türü. |
list::generic_container (STL/CLR) | Kapsayıcı için genel arabirimin türü. |
list::generic_iterator (STL/CLR) | Kapsayıcının genel arabirimi için yineleyici türü. |
list::generic_reverse_iterator (STL/CLR) | Kapsayıcının genel arabirimi için ters yineleyici türü. |
list::generic_value (STL/CLR) | Kapsayıcının genel arabirimi için bir öğenin türü. |
list::iterator (STL/CLR) | Denetlenen dizi için bir yineleyici türü. |
list::reference (STL/CLR) | Bir öğe için bir başvuru türü. |
list::reverse_iterator (STL/CLR) | Denetimli sıra için ters yineleyicinin türü. |
list::size_type (STL/CLR) | İki öğe arasındaki işaretli mesafenin türü. |
list::value_type (STL/CLR) | Öğenin türü. |
Üye İşlevi | Açıklama |
---|---|
list::assign (STL/CLR) | Tüm öğeleri değiştirir. |
list::back (STL/CLR) | Son öğeye erişir. |
list::begin (STL/CLR) | Denetlenen dizinin başlangıcını belirtir. |
list::clear (STL/CLR) | Tüm öğeleri kaldırır. |
list::empty (STL/CLR) | Bir öğe olup olmadığını sınar. |
list::end (STL/CLR) | Denetlenen dizinin bitişini belirtir. |
list::erase (STL/CLR) | Belirtilen konumlardaki öğeleri kaldırır. |
list::front (STL/CLR) | İlk öğeye erişir. |
list::insert (STL/CLR) | Belirli bir konuma öğe ekler. |
list::list (STL/CLR) | Bir kapsayıcı nesnesi oluşturur. |
list::merge (STL/CLR) | İki sıralı denetimli diziyi birleştirir. |
list::pop_back (STL/CLR) | Son öğeyi kaldırır. |
list::pop_front (STL/CLR) | İlk öğeyi kaldırır. |
list::push_back (STL/CLR) | Yeni bir son öğe ekler. |
list::push_front (STL/CLR) | Yeni bir ilk öğe ekler. |
list::rbegin (STL/CLR) | Ters denetimli sıranın başlangıcını belirtir. |
list::remove (STL/CLR) | Belirtilen değere sahip bir öğeyi kaldırır. |
list::remove_if (STL/CLR) | Belirtilen testi geçen öğeleri kaldırır. |
list::rend (STL/CLR) | Ters denetimli sıranın sonunu belirtir. |
list::resize (STL/CLR) | Öğe sayısını değiştirir. |
list::reverse (STL/CLR) | Denetimli sırayı tersine çevirir. |
list::size (STL/CLR) | Öğe sayısını sayar. |
list::sort (STL/CLR) | Denetimli sırayı sıralar. |
list::splice (STL/CLR) | Düğümler arasındaki bağlantıları yeniden bağlar. |
list::swap (STL/CLR) | İki kapsayıcının içeriğinin yerini değiştirir. |
list::to_array (STL/CLR) | Denetimli diziyi yeni bir diziye kopyalar. |
list::unique (STL/CLR) | Belirtilen testi geçen bitişik öğeleri kaldırır. |
Özellik | Açıklama |
---|---|
list::back_item (STL/CLR) | Son öğeye erişir. |
list::front_item (STL/CLR) | İlk öğeye erişir. |
Operator | Açıklama |
---|---|
list::operator= (STL/CLR) | Denetimli sıranın yerini alır. |
operator!= (list) (STL/CLR) | Bir nesnenin başka list bir list nesneye eşit olup olmadığını belirler. |
işleç< (liste) (STL/CLR) | Bir nesnenin başka list bir list nesneden küçük olup olmadığını belirler. |
operator<= (list) (STL/CLR) | Bir nesnenin başka bir nesneden küçük veya başka bir list list nesneye eşit olup olmadığını belirler. |
operator== (list) (STL/CLR) | Bir nesnenin başka list bir list nesneye eşit olup olmadığını belirler. |
işleç> (liste) (STL/CLR) | Bir nesnenin başka list bir list nesneden büyük olup olmadığını belirler. |
operator>= (list) (STL/CLR) | Bir nesnenin başka bir nesneden büyük veya başka bir list list nesneye eşit olup olmadığını belirler. |
Arabirimler
Arabirim | Açıklama |
---|---|
ICloneable | Nesneyi çoğaltma. |
IEnumerable | Öğeler arasında sıralama. |
ICollection | Öğe grubunu koruyun. |
IEnumerable<T> | Yazılan öğeler arasında sıra. |
ICollection<T> | Yazılan öğe grubunu koruyun. |
IList<Değeri> | Genel kapsayıcıyı koruyun. |
Açıklamalar
nesnesi, denetlediği sıra için çift yönlü bağlantı listesinde ayrı düğümler olarak depolama ayırır ve serbesttir. Hiçbir zaman bir düğümün içeriğini başka bir düğüme kopyalayarak düğümler arasındaki bağlantıları değiştirerek öğeleri yeniden düzenler. Bu, kalan öğeleri rahatsız etmeden öğeleri serbestçe ekleyebileceğiniz ve kaldırabileceğiniz anlamına gelir. Bu nedenle, bir liste şablon sınıfı kuyruğu (STL/CLR) veya şablon sınıf yığını (STL/CLR) için temel kapsayıcı için iyi bir adaydır.
Nesne list
çift yönlü yineleyicileri destekler. Bu, denetlenen dizideki bir öğeyi belirten bir yineleyici verildiğinde bitişik öğelere adım atabileceğiniz anlamına gelir. Özel bir baş düğümü, list::end (STL/CLR)()
tarafından döndürülen yineleyiciye karşılık gelir. Varsa, denetimli dizideki son öğeye ulaşmak için bu yineleyiciyi geri alabilirsiniz. Baş düğüme ulaşmak için bir liste yineleyicisini artırabilirsiniz ve ardından eşit olarak karşılaştırılır end()
. Ancak tarafından end()
döndürülen yineleyicinin başvurularını kaldıramazsınız.
Rastgele erişim yineleyicisi gerektiren sayısal konumuna göre doğrudan bir liste öğesine başvuramayacağınızı unutmayın. Bu nedenle, bir liste şablon sınıfı priority_queue (STL/CLR) için temel kapsayıcı olarak kullanılamaz.
Liste yineleyicisi ilişkili liste düğümünde bir tanıtıcı depolar ve bu da ilişkili kapsayıcısında bir tanıtıcı depolar. Yineleyicileri yalnızca ilişkili kapsayıcı nesneleriyle kullanabilirsiniz. Liste yineleyicisi, ilişkili liste düğümü bir listeyle ilişkilendirildiğinde geçerli kalır. Ayrıca, geçerli bir yineleyicinin başvurusu geri alınamaz . Eşit olmadığı end()
sürece, bu yineleyiciyi kullanarak belirttiği öğe değerine erişebilir veya değerini değiştirebilirsiniz.
Bir öğenin silinmesi veya kaldırılması, depolanmış değeri için yıkıcıyı çağırır. Kapsayıcıyı yok etmek tüm öğeleri siler. Bu nedenle, öğe türü ref sınıfı olan bir kapsayıcı, hiçbir öğenin kapsayıcıdan daha uzun yaşamasını sağlamaz. Ancak, bir tutamaç kapsayıcısının öğelerini yok etmediğini unutmayın.
Üyeler
list::assign (STL/CLR)
Tüm öğeleri değiştirir.
Sözdizimi
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);
Parametreler
count
Eklenecek öğe sayısı.
birinci
Eklenecek aralığın başlangıcı.
son
Eklenecek aralık sonu.
Sağ
Eklenecek numaralandırma.
Val
Eklenecek öğenin değeri.
Açıklamalar
İlk üye işlevi, denetlenen sırayı değer değerinin sayı öğelerinin tekrarı ile değiştirir. Kapsayıcıyı aynı değere sahip öğelerle doldurmak için kullanırsınız.
Tamsayı türündeyse InIt
, ikinci üye işlevi ile assign((size_type)first, (value_type)last)
aynı şekilde davranır. Aksi takdirde, denetlenen sırayı [first
, last
) dizisiyle değiştirir. Bunu denetimli sırayı başka bir dizi kopyası yapmak için kullanırsınız.
Üçüncü üye işlevi, denetlenen sırayı numaralandırıcı hakkı tarafından belirlenen diziyle değiştirir. Bunu, denetimli sırayı bir numaralandırıcı tarafından açıklanan bir dizinin kopyası yapmak için kullanırsınız.
Örnek
// 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)
Son öğeye erişir.
Sözdizimi
reference back();
Açıklamalar
Üye işlevi, denetlenen dizinin son öğesine bir başvuru döndürür ve bu öğe boş olmamalıdır. Var olduğunu bildiğinizde son öğeye erişmek için bunu kullanırsınız.
Örnek
// 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)
Son öğeye erişir.
Sözdizimi
property value_type back_item;
Açıklamalar
özelliği, denetlenen dizinin boş olmayan son öğesine erişir. Var olduğunu bildiğinizde son öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// 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)
Denetlenen dizinin başlangıcını belirtir.
Sözdizimi
iterator begin();
Açıklamalar
Üye işlevi, denetlenen dizinin ilk öğesini veya boş bir dizinin sonunun hemen ötesinde belirten rastgele erişim yineleyicisi döndürür. Denetimli sıranın current
başlangıcını belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// 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)
Tüm öğeleri kaldırır.
Sözdizimi
void clear();
Açıklamalar
Üye işlevi list::erase (STL/CLR)(
list::begin (STL/CLR)(),
list::end (STL/CLR)())
öğesini etkin bir şekilde çağırır. Denetimli sıranın boş olduğundan emin olmak için bunu kullanırsınız.
Örnek
// 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)
Denetlenen dizi için bir sabit yineleyici türü.
Sözdizimi
typedef T2 const_iterator;
Açıklamalar
türü, denetlenen dizi için sabit bir rastgele erişim yineleyicisi olarak hizmet verebilen belirtilmemiş türdeki T2
bir nesneyi açıklar.
Örnek
// 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)
Bir öğe için sabit bir başvuru türü.
Sözdizimi
typedef value_type% const_reference;
Açıklamalar
türü, bir öğeye sabit başvuruyu açıklar.
Örnek
// 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)
Denetlenen sıra için sabit ters yineleyici türü..
Sözdizimi
typedef T4 const_reverse_iterator;
Açıklamalar
türü, denetlenen dizi için sabit bir ters yineleyici görevi görecek belirtilmemiş türdeki T4
bir nesneyi açıklar.
Örnek
// 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::difference_type (STL/CLR)
İki öğe arasındaki imzalı uzaklık türleri.
Sözdizimi
typedef int difference_type;
Açıklamalar
Türü, imzalı öğe sayısını açıklar.
Örnek
// 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)
Bir öğe olup olmadığını sınar.
Sözdizimi
bool empty();
Açıklamalar
Üye işlevi boş denetimli bir dizi için true döndürür. List::size (STL/CLR)() == 0
ile eşdeğerdir. Listenin boş olup olmadığını test etmek için bunu kullanırsınız.
Örnek
// 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)
Denetlenen dizinin bitişini belirtir.
Sözdizimi
iterator end();
Açıklamalar
Üye işlevi, denetlenen sıranın sonunun hemen ötesine işaret eden rastgele erişim yineleyicisi döndürür. Bunu, denetlenen sıranın sonunu belirten bir yineleyici elde etmek için kullanırsınız; denetlenen sıranın uzunluğu değişirse durumu değişmez.
Örnek
// 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)
Belirtilen konumlardaki öğeleri kaldırır.
Sözdizimi
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
Parametreler
birinci
Silinecek aralığın başlangıcı.
son
Silinecek aralığın sonu.
nerede
Silinecek öğe.
Açıklamalar
İlk üye işlevi, denetimli dizinin nereye işaret ettiği öğesini kaldırır. Tek bir öğeyi kaldırmak için bunu kullanırsınız.
İkinci üye işlevi , [first
, last
) aralığındaki denetlenen dizinin öğelerini kaldırır. Sıfır veya daha fazla bitişik öğeyi kaldırmak için bunu kullanırsınız.
Her iki üye işlevi de kaldırılan öğelerin ötesinde kalan ilk öğeyi belirten bir yineleyici döndürür veya böyle bir öğe yoksa list::end (STL/CLR)()
döndürür.
Öğeleri silirken, öğe kopyalarının sayısı, silme işleminin sonu ile sıranın daha yakın ucu arasındaki öğe sayısında doğrusaldır. (Sıranın herhangi bir ucundaki bir veya daha fazla öğeyi sildiğinde, öğe kopyası gerçekleşmez.)
Örnek
// 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)
İlk öğeye erişir.
Sözdizimi
reference front();
Açıklamalar
Üye işlevi, denetlenen dizinin ilk öğesine boş olmayan bir başvuru döndürür. Var olduğunu bildiğinizde ilk öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// 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)
İlk öğeye erişir.
Sözdizimi
property value_type front_item;
Açıklamalar
özelliği, denetlenen dizinin ilk öğesine erişir ve bu öğe boş olmamalıdır. Var olduğunu bildiğinizde ilk öğeyi okumak veya yazmak için bunu kullanırsınız.
Örnek
// 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)
Kapsayıcı için genel arabirimin türü.
Sözdizimi
typedef Microsoft::VisualC::StlClr::
IList<generic_value>
generic_container;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimi açıklar.
Örnek
// 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)
Kapsayıcının genel arabirimiyle kullanılacak bir yineleyicinin türü.
Sözdizimi
typedef Microsoft::VisualC::StlClr::Generic::
ContainerBidirectionalIterator<generic_value>
generic_iterator;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılabilecek genel bir yineleyiciyi açıklar.
Örnek
// 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)
Kapsayıcının genel arabirimiyle kullanılacak ters yineleyicinin türü.
Sözdizimi
typedef Microsoft::VisualC::StlClr::Generic::
ReverseBidirectionalIterator<generic_value> generic_reverse_iterator;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılabilecek genel bir ters yineleyiciyi açıklar.
Örnek
// 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)
Kapsayıcının genel arabirimiyle kullanılacak bir öğenin türü.
Sözdizimi
typedef GValue generic_value;
Açıklamalar
türü, bu şablon kapsayıcı sınıfı için genel arabirimle kullanılmak üzere depolanan öğe değerini açıklayan türdeki GValue
bir nesneyi açıklar.
Örnek
// 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)
Belirli bir konuma öğe ekler.
Sözdizimi
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);
Parametreler
count
Eklenecek öğe sayısı.
birinci
Eklenecek aralığın başlangıcı.
son
Eklenecek aralık sonu.
Sağ
Eklenecek numaralandırma.
Val
Eklenecek öğenin değeri.
nerede
Kapsayıcıda daha önce eklenecek yer.
Açıklamalar
Üye işlevlerin her biri, öğe tarafından işaret edilen öğeden önce denetimli dizide kalan işlenenler tarafından belirtilen bir sıra ekler.
İlk üye işlevi değer değeri olan bir öğe ekler ve yeni eklenen öğeyi belirten bir yineleyici döndürür. Bunu, yineleyici tarafından belirlenen bir yerden önce tek bir öğe eklemek için kullanırsınız.
İkinci üye işlevi, değer değerinin sayı öğelerinin tekrarını ekler. Bunu, aynı değerin tüm kopyaları olan sıfır veya daha fazla bitişik öğe eklemek için kullanırsınız.
Tamsayı türündeyse InIt
, üçüncü üye işlevi ile insert(where, (size_type)first, (value_type)last)
aynı şekilde davranır. Aksi takdirde, [first
, last
) dizisini ekler. Bunu, başka bir diziden kopyalanan sıfır veya daha fazla bitişik öğe eklemek için kullanırsınız.
Dördüncü üye işlevi, sağ tarafından belirlenen diziyi ekler. Bunu bir numaralandırıcı tarafından açıklanan bir dizi eklemek için kullanırsınız.
Tek bir öğe eklerken, öğe kopyalarının sayısı, ekleme noktası ile sıranın daha yakın ucu arasındaki öğe sayısında doğrusaldır. (Sıranın herhangi bir sonuna bir veya daha fazla öğe eklerken hiçbir öğe kopyası gerçekleşmez.) Giriş yineleyicisi ise InIt
, üçüncü üye işlevi sırayla her öğe için etkili bir şekilde tek bir ekleme gerçekleştirir. Aksi takdirde, öğe eklerken N
öğe kopyalarının sayısı doğrusaldır N
ve ekleme noktası ile dizinin daha yakın ucu arasındaki öğe sayısıdır.
Örnek
// 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)
Denetlenen dizi için bir yineleyici türü.
Sözdizimi
typedef T1 iterator;
Açıklamalar
türü, denetlenen dizi için rastgele erişim yineleyicisi olarak hizmet verebilen belirtilmemiş türdeki T1
bir nesneyi açıklar.
Örnek
// 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)
Bir kapsayıcı nesnesi oluşturur.
Sözdizimi
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);
Parametreler
count
Eklenecek öğe sayısı.
birinci
Eklenecek aralığın başlangıcı.
son
Eklenecek aralık sonu.
Sağ
Eklenecek nesne veya aralık.
Val
Eklenecek öğenin değeri.
Açıklamalar
Oluşturucu:
list();
denetimli diziyi hiçbir öğe olmadan başlatır. Boş bir ilk denetimli sıra belirtmek için bunu kullanırsınız.
Oluşturucu:
list(list<Value>% right);
denetimli sırayı [right.begin()
, right.end()
) dizisiyle başlatır. Bunu, liste nesnesi tarafından denetlenen dizinin bir kopyası olan ilk denetimli sırayı belirtmek için kullanırsınız.
Oluşturucu:
list(list<Value>^ right);
denetimli sırayı [right->begin()
, right->end()
) dizisiyle başlatır. Bunu, tanıtıcısı doğru olan liste nesnesi tarafından denetlenen dizinin bir kopyası olan ilk denetimli diziyi belirtmek için kullanırsınız.
Oluşturucu:
explicit list(size_type count);
denetimli sırayı, her birinin değeri value_type()
olan sayı öğeleriyle başlatır. Kapsayıcıyı varsayılan değere sahip öğelerle doldurmak için kullanırsınız.
Oluşturucu:
list(size_type count, value_type val);
, her birinin değer değeri olan sayı öğeleriyle denetlenen diziyi başlatır. Kapsayıcıyı aynı değere sahip öğelerle doldurmak için kullanırsınız.
Oluşturucu:
template<typename InIt>
list(InIt first, InIt last);
denetimli sırayı [first
, last
) dizisiyle başlatır. Bunu, denetimli sırayı başka bir dizinin kopyası yapmak için kullanırsınız.
Oluşturucu:
list(System::Collections::Generic::IEnumerable<Value>^ right);
, numaralandırıcı hakkı tarafından belirlenen diziyle denetimli diziyi başlatır. Bunu, denetimli sırayı bir numaralandırıcı tarafından açıklanan başka bir dizinin kopyası yapmak için kullanırsınız.
Örnek
// 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)
İki sıralı denetimli diziyi birleştirir.
Sözdizimi
void merge(list<Value>% right);
template<typename Pred2>
void merge(list<Value>% right, Pred2 pred);
Parametreler
Pred
Öğe çiftleri için karşılaştırıcı.
Sağ
Birleştirilecek kapsayıcı.
Açıklamalar
İlk üye işlevi, sağ tarafından denetlenen dizideki tüm öğeleri kaldırır ve bunları denetimli diziye ekler. Her iki sıranın da önceden sıralanması operator<
gerekir; her iki dizide de ilerlediğinizde öğelerin değerde azalmaması gerekir. Sonuçta elde edilen sıra da tarafından operator<
sıralanır. Bu üye işlevini, değeri artan iki diziyi, değeri de artan bir diziyle birleştirmek için kullanırsınız.
İkinci üye işlevi ilk işlevle aynı şekilde davranır, ancak sıralı olan sıralarpred
-- pred(X, Y)
, dizideki öğeyi Y
izleyen herhangi bir öğe X
için false olmalıdır. Bunu, belirttiğiniz bir koşul işlevi veya temsilci tarafından sıralanmış iki diziyi birleştirmek için kullanırsınız.
Her iki işlev de kararlı bir birleştirme gerçekleştirir; özgün denetimli dizilerden herhangi birinde bulunan hiçbir öğe çifti, sonuçta elde edilen denetimli dizide ters çevrilmez. Ayrıca, bir öğe X
çifti ve Y
sonuçta elde edilen denetimli dizide eşdeğer sıralama varsa -- !(X < Y) && !(X < Y)
-- sağ tarafından denetlenen diziden bir öğeden önce özgün denetimli diziden bir öğe görüntülenir.
Örnek
// 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)
Denetimli sıranın yerini alır.
Sözdizimi
list<Value>% operator=(list<Value>% right);
Parametreler
Sağ
Kopyalanacak kapsayıcı.
Açıklamalar
Üye işleci doğrudan nesnesine kopyalanır ve döndürür*this
. Bunu, denetimli sırayı sağda denetimli sıranın bir kopyasıyla değiştirmek için kullanırsınız.
Örnek
// 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::pop_back (STL/CLR)
Son öğeyi kaldırır.
Sözdizimi
void pop_back();
Açıklamalar
Üye işlevi, denetlenen dizinin boş olmayan son öğesini kaldırır. Bunu, listeyi arkadaki bir öğeye göre kısaltmak için kullanırsınız.
Örnek
// 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::pop_front (STL/CLR)
İlk öğeyi kaldırır.
Sözdizimi
void pop_front();
Açıklamalar
Üye işlevi, denetlenen dizinin ilk öğesini kaldırır ve bu öğe boş olmamalıdır. Bunu, listeyi öndeki bir öğeye göre kısaltmak için kullanırsınız.
Örnek
// 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::push_back (STL/CLR)
Yeni bir son öğe ekler.
Sözdizimi
void push_back(value_type val);
Açıklamalar
üye işlevi, denetlenen sıranın sonuna değer val
içeren bir öğe ekler. Listeye başka bir öğe eklemek için bunu kullanırsınız.
Örnek
// 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::push_front (STL/CLR)
Yeni bir ilk öğe ekler.
Sözdizimi
void push_front(value_type val);
Açıklamalar
üye işlevi, denetlenen sıranın başına değer val
içeren bir öğe ekler. Listeye başka bir öğe eklemek için bunu kullanırsınız.
Örnek
// 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)
Ters denetimli sıranın başlangıcını belirtir.
Sözdizimi
reverse_iterator rbegin();
Açıklamalar
Üye işlevi, denetlenen dizinin son öğesini veya boş bir dizinin başlangıcının hemen ötesinde belirten bir ters yineleyici döndürür. Bu nedenle, ters sıranın öğesini belirtir beginning
. Ters sırada görülen denetimli sıranın current
başlangıcını belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// 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)
Bir öğe için bir başvuru türü.
Sözdizimi
typedef value_type% reference;
Açıklamalar
türü, bir öğeye başvuruyu açıklar.
Örnek
// 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)
Belirtilen değere sahip bir öğeyi kaldırır.
Sözdizimi
void remove(value_type val);
Parametreler
Val
Kaldırılacak öğenin değeri.
Açıklamalar
Üye işlevi, denetlenen dizideki ((System::Object^)val)->Equals((System::Object^)x)
true (varsa) olan bir öğeyi kaldırır. Belirtilen değere sahip rastgele bir öğeyi silmek için bunu kullanırsınız.
Örnek
// 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)
Belirtilen testi geçen öğeleri kaldırır.
Sözdizimi
template<typename Pred1>
void remove_if(Pred1 pred);
Parametreler
Pred
Kaldırılacak öğeleri sınayın.
Açıklamalar
Üye işlevi, doğru olan pred(X)
her öğeyi X
denetimli diziden kaldırır (siler). İşlev veya temsilci olarak belirttiğiniz bir koşulu karşılayan tüm öğeleri kaldırmak için bunu kullanırsınız.
Örnek
// 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)
Ters denetimli sıranın sonunu belirtir.
Sözdizimi
reverse_iterator rend();
Açıklamalar
Üye işlevi, denetlenen sıranın başlangıcının hemen ötesine işaret eden bir ters yineleyici döndürür. Bu nedenle, ters sıranın öğesini belirtir end
. Ters sırada görülen denetimli sıranın current
sonunu belirten bir yineleyici elde etmek için bunu kullanırsınız, ancak denetlenen sıranın uzunluğu değişirse durumu değişebilir.
Örnek
// 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)
Öğe sayısını değiştirir.
Sözdizimi
void resize(size_type new_size);
void resize(size_type new_size, value_type val);
Parametreler
new_size
Denetlenen sıranın yeni boyutu.
Val
Doldurma öğesinin değeri.
Açıklamalar
Üye işlevlerinin her ikisi de list::size (STL/CLR)()
işlevinin new_size döndürdüğünden emin olur. Denetlenen sırayı daha uzun hale getirmesi gerekiyorsa, ilk üye işlevi değeri value_type()
olan öğeleri eklerken, ikinci üye işlevi değer değeri olan öğeleri ekler. Denetimli sırayı daha kısa hale getirmek için, her iki üye işlevi de son öğe listesinin::size (STL/CLR)() -
new_size
zamanlarını etkili bir şekilde siler. Geçerli denetimli sırayı kırparak veya doldurarak denetimli sıranın boyut new_size olduğundan emin olmak için bunu kullanırsınız.
Örnek
// 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)
Denetimli sırayı tersine çevirir.
Sözdizimi
void reverse();
Açıklamalar
Üye işlevi, denetlenen dizideki tüm öğelerin sırasını tersine çevirir. Bir öğe listesini yansıtmak için bunu kullanırsınız.
Örnek
// 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)
Denetimli sıra için ters yineleyicinin türü.
Sözdizimi
typedef T3 reverse_iterator;
Açıklamalar
türü, denetlenen dizi için ters yineleyici görevi görecek belirtilmemiş türdeki T3
bir nesneyi açıklar.
Örnek
// 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)
Öğe sayısını sayar.
Sözdizimi
size_type size();
Açıklamalar
Üye işlevi, denetlenen sıranın uzunluğunu döndürür. Şu anda denetimli dizideki öğelerin sayısını belirlemek için bunu kullanırsınız. Tek ilgilendiğiniz dizinin sıfır olmayan boyuta sahip olup olmadığıysa bkz . list::empty (STL/CLR)()
.
Örnek
// 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)
İki öğe arasındaki imzalı uzaklık türü.
Sözdizimi
typedef int size_type;
Açıklamalar
Türü negatif olmayan öğe sayısını açıklar.
Örnek
// 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)
Denetimli sırayı sıralar.
Sözdizimi
void sort();
template<typename Pred2>
void sort(Pred2 pred);
Parametreler
Pred
Öğe çiftleri için karşılaştırıcı.
Açıklamalar
İlk üye işlevi, denetlenen dizideki öğeleri düzenleyerek sıralanmalarını operator<
sağlar; siz dizide ilerledikçe öğelerin değeri azalmaz. Sırayı artan düzende sıralamak için bu üye işlevini kullanırsınız.
İkinci üye işlevi ilk işlevle aynı şekilde davranır, ancak sıralı pred
-- pred(X, Y)
olan sıralama, sonuç dizisindeki öğeyi izleyen herhangi bir öğe X
Y
için false olur. Sıralamayı, bir koşul işlevine veya temsilciye göre belirttiğiniz sırada sıralamak için kullanırsınız.
her iki işlev de kararlı bir sıralama gerçekleştirir; özgün denetimli dizideki hiçbir öğe çifti, sonuçta elde edilen denetimli dizide ters çevrilir.
Örnek
// 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)
Düğümler arasındaki restitch bağlantıları.
Sözdizimi
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);
Parametreler
birinci
Splice aralığı başlangıcı.
son
Splice aralığı sonu.
Sağ
Kaynak olarak eklenmek üzere kapsayıcı.
nerede
Kapsayıcıda daha önce splice'nin bulunduğu yer.
Açıklamalar
İlk üye işlevi tarafından denetlenen sırayı, denetimli dizideki öğesinin nereye işaret ettiği hemen önüne ekler. Ayrıca tüm öğeleri sağdan kaldırır. (%right
eşit this
olmamalıdır.) Bir listenin tümünü başka bir listeye eklemek için bunu kullanırsınız.
İkinci üye işlevi, sağ tarafından denetlenen dizide ilk olarak işaret edilen öğeyi kaldırır ve denetimli dizideki öğenin önüne nereye işaret eder. (Eğer where
==
first
||
where
== ++first
, değişiklik yapılmaz.) Bir listenin tek bir öğesini diğerine eklemek için bunu kullanırsınız.
Üçüncü üye işlevi, denetimli dizideki öğesinin nereye işaret ettiği öncesinde tarafından denetlenen diziden [first
, last
) tarafından belirlenen alt alanı ekler. Ayrıca özgün alt diziyi sağ tarafından denetlenen diziden kaldırır. (If iseright == this
, [first
, last
) aralığı, nereye göre işaret edilen öğeyi içermemelidir.) Sıfır veya daha fazla öğeden oluşan bir alt diziyi bir listeden diğerine eklemek için bunu kullanırsınız.
Örnek
// 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)
İki kapsayıcının içeriğinin yerini değiştirir.
Sözdizimi
void swap(list<Value>% right);
Parametreler
Sağ
İçindekileri değiştirecek kapsayıcı.
Açıklamalar
Üye işlevi, denetimli dizileri ile sağ arasında *this
değiştirir. Bunu sürekli olarak yapar ve hiçbir özel durum oluşturmaz. bunu, iki kapsayıcının içeriğini değiştirmek için hızlı bir yol olarak kullanırsınız.
Örnek
// 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)
Denetimli diziyi yeni bir diziye kopyalar.
Sözdizimi
cli::array<Value>^ to_array();
Açıklamalar
üye işlevi, denetlenen diziyi içeren bir dizi döndürür. Denetimli sıranın bir kopyasını dizi biçiminde almak için bunu kullanırsınız.
Örnek
// 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)
Belirtilen testi geçen bitişik öğeleri kaldırır.
Sözdizimi
void unique();
template<typename Pred2>
void unique(Pred2 pred);
Parametreler
Pred
Öğe çiftleri için karşılaştırıcı.
Açıklamalar
İlk üye işlevi denetimli diziden kaldırır (siler) önceki öğesine eşit olan her öğeyi karşılaştırır ; öğe X
öğesinden önce Y
ve X == Y
ise, üye işlevi öğesini kaldırır Y
. Bunu, eşit olarak karşılaştıran bitişik öğelerin her alt dizisinin bir kopyasının dışında tümünü kaldırmak için kullanırsınız. Denetlenen sıra sıralı ise, örneğin list::sort (STL/CLR)()
çağrılırsa, üye işlevinin yalnızca benzersiz değerlere sahip öğeleri bıraktığını unutmayın. (Bu nedenle ad).
İkinci üye işlevi, öğesini izleyen her öğeyi Y
kaldırması dışında, ilk işlevle X
pred(X, Y)
aynı şekilde davranır. Bunu, belirttiğiniz bir koşul işlevini veya temsilciyi karşılayan bitişik öğelerin her alt dizisinin tek bir kopyasını kaldırmak için kullanırsınız. Denetlenen dizi çağrılarak sort(pred)
sıralanırsa, üye işlevinin yalnızca diğer öğelerle eşdeğer sıralamaya sahip olmayan öğeleri bıraktığını unutmayın.
Örnek
// 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)
Öğenin türü.
Sözdizimi
typedef Value value_type;
Açıklamalar
Tür, Value şablon parametresinin eş anlamlısıdır.
Örnek
// 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!= (list) (STL/CLR)
Liste eşit değil karşılaştırması.
Sözdizimi
template<typename Value>
bool operator!=(list<Value>% left,
list<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür !(left == right)
. İki liste öğeye göre karşılaştırıldığında soldakinin sağla aynı sıralanıp sıralanmadığını test etmek için bunu kullanırsınız.
Örnek
// 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<
(liste) (STL/CLR)
Küçüktür karşılaştırması listeleyin.
Sözdizimi
template<typename Value>
bool operator<(list<Value>% left,
list<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi, aynı zamanda doğru olduğu en düşük konum i
için !(right[i] < left[i])
ise true left[i] < right[i]
döndürür. Aksi takdirde, iki liste öğeye göre karşılaştırıldığında soldan önce sıralanıp sıralı olmadığını test etmek için kullanırsınız döndürürleft->size() < right->size()
.
Örnek
// 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<=
(liste) (STL/CLR)
Küçük veya eşit karşılaştırmayı listeleyin.
Sözdizimi
template<typename Value>
bool operator<=(list<Value>% left,
list<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür !(right < left)
. İki liste öğeye göre karşılaştırıldığında soldan sonra sıralanıp sıralanmadığını test etmek için kullanırsınız.
Örnek
// 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== (list) (STL/CLR)
Eşit karşılaştırmayı listeleyin.
Sözdizimi
template<typename Value>
bool operator==(list<Value>% left,
list<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi yalnızca sol ve sağ tarafından denetlenen dizilerin uzunluğu aynıysa ve her konum i
için , left[i] ==
right[i]
işlevi için true döndürür. İki liste öğeye göre karşılaştırıldığında, soldan sağa doğru sıralanıp sıralı olmadığını test etmek için bunu kullanırsınız.
Örnek
// 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>
(liste) (STL/CLR)
Karşılaştırmadan daha büyük bir liste.
Sözdizimi
template<typename Value>
bool operator>(list<Value>% left,
list<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür right
<
left
. İki liste öğeye göre karşılaştırıldığında soldan sonra sıralanıp sıralı olmadığını test etmek için bunu kullanırsınız.
Örnek
// 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>=
(liste) (STL/CLR)
Büyük veya eşit karşılaştırmayı listeleyin.
Sözdizimi
template<typename Value>
bool operator>=(list<Value>% left,
list<Value>% right);
Parametreler
Sol
Karşılaştırmak için sol kapsayıcı.
Sağ
Karşılaştırmak için doğru kapsayıcı.
Açıklamalar
işleç işlevi döndürür !(left
<
right)
. İki liste öğeye göre karşılaştırıldığında soldan önce sıralanıp sıralanmadığını test etmek için kullanırsınız.
Örnek
// 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