Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sınıf şablonunu ve birkaç destekleyici işlev şablonunu pair tanımlamak için STL/CLR üst bilgisini <cliext/utility> ekleyin.
Sözdizimi
#include <cliext/utility>
Gereksinimler
Header:<cliext/utility>
Ad alanı: cliext
Bildirimler
| Sınıf | Açıklama |
|---|---|
pair |
Bir öğe çiftini sarmalama. |
| Operator | Açıklama |
|---|---|
operator== (çift) |
pair eşittir karşılaştırması. |
operator!= (çift) |
pair eşit olmayan karşılaştırma. |
operator< (çift) |
pair küçüktür karşılaştırması. |
operator<= (çift) |
pair küçük veya eşit karşılaştırma. |
operator> (çift) |
pair karşılaştırmadan büyük. |
operator>= (çift) |
pair büyük veya eşit karşılaştırma. |
| İşlev | Açıklama |
|---|---|
make_pair |
pair Bir değer çiftinden bir tane yapın. |
pair
Şablon sınıfı, bir değer çiftini sarmalayan bir nesneyi açıklar.
Sözdizimi
template<typename Value1,
typename Value2>
ref class pair;
Parametreler
Value1
İlk sarmalanan değerin türü.
Value2
İkinci sarmalanan değerin türü.
Üyeler
| Tür tanımı | Açıklama |
|---|---|
pair::first_type |
sarmalanan ilk değerin türü. |
pair::second_type |
İkinci sarmalanan değerin türü. |
| Üye nesnesi | Açıklama |
|---|---|
pair::first |
İlk depolanan değer. |
pair::second |
İkinci depolanmış değer. |
| Üye işlevi | Açıklama |
|---|---|
pair::pair |
Bir pair nesne oluşturur. |
pair::swap |
İki pair nesnenin içeriğini değiştirir. |
| Operator | Açıklama |
|---|---|
pair::operator= |
Depolanan değer çiftini değiştirir. |
Açıklamalar
nesnesi bir değer çifti depolar. İki değeri tek bir nesnede birleştirmek için bu şablon sınıfını kullanırsınız. Ayrıca, nesnesi cliext::pair (burada açıklanmıştır) yalnızca yönetilen türleri depolar; yönetilmeyen std::pairbir tür çiftini depolamak için içinde <utility>bildirilir.
pair::first
İlk sarmalanan değer.
Sözdizimi
Value1 first;
Açıklamalar
nesnesi ilk sarmalanan değeri depolar.
Örnek
// cliext_pair_first.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int>::first_type first_val = c1.first;
cliext::pair<wchar_t, int>::second_type second_val = c1.second;
System::Console::WriteLine("[{0}, {1}]", first_val, second_val);
return (0);
}
[x, 3]
pair::first_type
sarmalanan ilk değerin türü.
Sözdizimi
typedef Value1 first_type;
Açıklamalar
türü, şablon parametresi Value1için bir eş anlamlıdır.
Örnek
// cliext_pair_first_type.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int>::first_type first_val = c1.first;
cliext::pair<wchar_t, int>::second_type second_val = c1.second;
System::Console::WriteLine("[{0}, {1}]", first_val, second_val);
return (0);
}
[x, 3]
pair::operator=
Depolanan değer çiftini değiştirir.
Sözdizimi
pair<Value1, Value2>% operator=(pair<Value1, Value2>% right);
Parametreler
right
pair öğesini seçin.
Açıklamalar
Üye işleci nesnesine kopyalanır right ve döndürür *this. Bunu, depolanan değer çiftini içindeki rightdepolanan değer çiftinin bir kopyasıyla değiştirmek için kullanırsınız.
Örnek
// cliext_pair_operator_as.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
// assign to a new pair
cliext::pair<wchar_t, int> c2;
c2 = c1;
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
return (0);
}
[x, 3]
[x, 3]
pair::pair
Bir pair nesne oluşturur.
Sözdizimi
pair();
pair(pair<Coll>% right);
pair(pair<Coll>^ right);
pair(Value1 val1, Value2 val2);
Parametreler
right
pair öğesini seçin.
val1
Depo için ilk değer.
val2
Depo için ikinci değer.
Açıklamalar
Oluşturucu:
pair();
, depolanan çifti varsayılan olarak inşa edilmiş değerlerle başlatır.
Oluşturucu:
pair(pair<Value1, Value2>% right);
ve right.secondile right.first depolanan çifti başlatır.
pair(pair<Value1, Value2>^ right);
ve right->secondile right->first depolanan çifti başlatır.
Oluşturucu:
pair(Value1 val1, Value2 val2);
ve val2ile val1 depolanan çifti başlatır.
Örnek
// cliext_pair_construct.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
// construct an empty container
cliext::pair<wchar_t, int> c1;
System::Console::WriteLine("[{0}, {1}]",
c1.first == L'\0' ? "\\0" : "??", c1.second);
// construct with a pair of values
cliext::pair<wchar_t, int> c2(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
// construct by copying another pair
cliext::pair<wchar_t, int> c3(c2);
System::Console::WriteLine("[{0}, {1}]", c3.first, c3.second);
// construct by copying a pair handle
cliext::pair<wchar_t, int> c4(%c3);
System::Console::WriteLine("[{0}, {1}]", c4.first, c4.second);
return (0);
}
[\0, 0]
[x, 3]
[x, 3]
[x, 3]
pair::second
İkinci sarmalanan değer.
Sözdizimi
Value2 second;
Açıklamalar
nesnesi, sarmalanan ikinci değeri depolar.
Örnek
// cliext_pair_second.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int>::first_type first_val = c1.first;
cliext::pair<wchar_t, int>::second_type second_val = c1.second;
System::Console::WriteLine("[{0}, {1}]", first_val, second_val);
return (0);
}
[x, 3]
pair::second_type
İkinci sarmalanan değerin türü.
Sözdizimi
typedef Value2 second_type;
Açıklamalar
türü, şablon parametresi Value2için bir eş anlamlıdır.
Örnek
// cliext_pair_second_type.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int>::first_type first_val = c1.first;
cliext::pair<wchar_t, int>::second_type second_val = c1.second;
System::Console::WriteLine("[{0}, {1}]", first_val, second_val);
return (0);
}
[x, 3]
pair::swap
İki pair nesnenin içeriğini değiştirir.
Sözdizimi
void swap(pair<Value1, Value2>% right);
Parametreler
right
pair öğesini seçin.
Açıklamalar
Üye işlevi, depolanan değer çiftini ile rightarasında *this değiştirir.
Örnek
// cliext_pair_swap.cpp
// compile with: /clr
#include <cliext/adapter>
#include <cliext/deque>
typedef cliext::collection_adapter<
System::Collections::ICollection> Mycoll;
int main()
{
cliext::deque<wchar_t> d1;
d1.push_back(L'a');
d1.push_back(L'b');
d1.push_back(L'c');
Mycoll c1(%d1);
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write("{0} ", elem);
System::Console::WriteLine();
// construct another container with repetition of values
cliext::deque<wchar_t> d2(5, L'x');
Mycoll c2(%d2);
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
make_pair
pair Bir değer çiftinden bir tane yapın.
Sözdizimi
template<typename Value1,
typename Value2>
pair<Value1, Value2> make_pair(Value1 first, Value2 second);
Parametreler
Value1
sarmalanan ilk değerin türü.
Value2
İkinci sarmalanan değerin türü.
first
Kaydıracak ilk değer.
second
Kaydıracak ikinci değer.
Açıklamalar
İşlev şablonu döndürür pair<Value1, Value2>(first, second). Bunu bir değer çiftinden nesne pair<Value1, Value2> oluşturmak için kullanırsınız.
Örnek
// cliext_make_pair.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
c1 = cliext::make_pair(L'y', 4);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
return (0);
}
[x, 3]
[y, 4]
operator!= (çift)
pair eşit olmayan karşılaştırma.
Sözdizimi
template<typename Value1,
typename Value2>
bool operator!=(pair<Value1, Value2>% left,
pair<Value1, Value2>% right);
Parametreler
left
Karşılaştırmak için sol pair .
right
Karşılaştırma pair hakkı.
Açıklamalar
işleç işlevi döndürür !(left == right). İki pair nesne öğeye göre karşılaştırıldığında aynı sıralı right olup olmadığını left test etmek için bunu kullanırsınız.
Örnek
// cliext_pair_operator_ne.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int> c2(L'x', 4);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
System::Console::WriteLine("[x 3] != [x 3] is {0}",
c1 != c1);
System::Console::WriteLine("[x 3] != [x 4] is {0}",
c1 != c2);
return (0);
}
[x, 3]
[x, 4]
[x 3] != [x 3] is False
[x 3] != [x 4] is True
operator<
pair küçüktür karşılaştırması.
Sözdizimi
template<typename Value1,
typename Value2>
bool operator<(pair<Value1, Value2>% left,
pair<Value1, Value2>% right);
Parametreler
left
Karşılaştırmak için sol pair .
right
Karşılaştırma pair hakkı.
Açıklamalar
işleç işlevi döndürür left.first < right.first || !(right.first < left.first && left.second < right.second. İki pair nesne öğeye göre karşılaştırıldığında önce right öğesinin sıralanıp sıralı olmadığını left test etmek için bunu kullanırsınız.
Örnek
// cliext_pair_operator_lt.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int> c2(L'x', 4);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
System::Console::WriteLine("[x 3] < [x 3] is {0}",
c1 < c1);
System::Console::WriteLine("[x 3] < [x 4] is {0}",
c1 < c2);
return (0);
}
[x, 3]
[x, 4]
[x 3] < [x 3] is False
[x 3] < [x 4] is True
operator<=
pair küçük veya eşit karşılaştırma.
Sözdizimi
template<typename Value1,
typename Value2>
bool operator<=(pair<Value1, Value2>% left,
pair<Value1, Value2>% right);
Parametreler
left
Karşılaştırmak için sol pair .
right
Karşılaştırma pair hakkı.
Açıklamalar
işleç işlevi döndürür !(right < left). İki pair nesne öğeye göre karşılaştırıldıktan sonra right sıralanıp left sıralı olmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_pair_operator_le.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int> c2(L'x', 4);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
System::Console::WriteLine("[x 3] <= [x 3] is {0}",
c1 <= c1);
System::Console::WriteLine("[x 4] <= [x 3] is {0}",
c2 <= c1);
return (0);
}
[x, 3]
[x, 4]
[x 3] <= [x 3] is True
[x 4] <= [x 3] is False
operator==
pair eşittir karşılaştırması.
Sözdizimi
template<typename Value1,
typename Value2>
bool operator==(pair<Value1, Value2>% left,
pair<Value1, Value2>% right);
Parametreler
left
Karşılaştırmak için sol pair .
right
Karşılaştırma pair hakkı.
Açıklamalar
işleç işlevi döndürür left.first == right.first && left.second == right.second. İki pair nesne öğeye göre karşılaştırıldığında aynı sıralanmış right olup olmadığını left test etmek için bunu kullanırsınız.
Örnek
// cliext_pair_operator_eq.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int> c2(L'x', 4);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
System::Console::WriteLine("[x 3] == [x 3] is {0}",
c1 == c1);
System::Console::WriteLine("[x 3] == [x 4] is {0}",
c1 == c2);
return (0);
}
[x, 3]
[x, 4]
[x 3] == [x 3] is True
[x 3] == [x 4] is False
pair::operator>
pair karşılaştırmadan büyük.
Sözdizimi
template<typename Value1,
typename Value2>
bool operator>(pair<Value1, Value2>% left,
pair<Value1, Value2>% right);
Parametreler
left
Karşılaştırmak için sol pair .
right
Karşılaştırma pair hakkı.
Açıklamalar
işleç işlevi döndürür right < left. İki pair nesne öğeye göre karşılaştırıldıktan sonra right sıralanıp sıralı olmadığını left test etmek için bunu kullanırsınız.
Örnek
// cliext_pair_operator_gt.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int> c2(L'x', 4);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
System::Console::WriteLine("[x 3] > [x 3] is {0}",
c1 > c1);
System::Console::WriteLine("[x 4] > [x 3] is {0}",
c2 > c1);
return (0);
}
[x, 3]
[x, 4]
[x 3] > [x 3] is False
[x 4] > [x 3] is True
operator>=
pair büyük veya eşit karşılaştırma.
Sözdizimi
template<typename Value1,
typename Value2>
bool operator>=(pair<Value1, Value2>% left,
pair<Value1, Value2>% right);
Parametreler
left
Karşılaştırmak için sol pair .
right
Karşılaştırma pair hakkı.
Açıklamalar
işleç işlevi döndürür !(left < right). İki pair nesne öğeye göre karşılaştırıldığında önce right sıralanıp left sıralı olmadığını test etmek için bunu kullanırsınız.
Örnek
// cliext_pair_operator_ge.cpp
// compile with: /clr
#include <cliext/utility>
int main()
{
cliext::pair<wchar_t, int> c1(L'x', 3);
System::Console::WriteLine("[{0}, {1}]", c1.first, c1.second);
cliext::pair<wchar_t, int> c2(L'x', 4);
System::Console::WriteLine("[{0}, {1}]", c2.first, c2.second);
System::Console::WriteLine("[x 3] >= [x 3] is {0}",
c1 >= c1);
System::Console::WriteLine("[x 3] >= [x 4] is {0}",
c1 >= c2);
return (0);
}
[x, 3]
[x, 4]
[x 3] >= [x 3] is True
[x 3] >= [x 4] is False