logo

PARA W C++

Para to termin używany do łączenia dwóch wartości, które mogą należeć do różnych typów danych. Para oferuje technikę przechowywania dwóch różnych obiektów razem w magazynie. Zasadniczo używamy go do przechowywania krotki . Kontener par to prosty kontener określony w nagłówku i zawierający dwa elementy danych lub obiekty.

  • Kolejność jest ustalona, ​​a pierwszy element to tzw 'Pierwszy' a drugi jako „drugi” (pierwszy, drugi) .
  • Jest to możliwe przydzielaj, kopiuj i porównuj para. Tablica obiektów przydzielonych na mapie lub mapie skrótu ma domyślnie typ 'para' , co oznacza, że ​​wszystkie 'Pierwszy' komponenty to odrębne klucze powiązane z obiektami za pomocą ich 'drugi'
  • Korzystamy z nazwa zmiennej, operator kropki, pierwsze lub drugie słowo , oraz element chcemy uzyskać dostęp.

Składnia pary w C++:

 pair Pair_name 

Przykład:

Program dla par w C++;

 #include #include using namespace std; int main() { pair PAIR1; PAIR1.first = 200; PAIR1.second = 'J'; cout << PAIR1.first << ' '; cout << PAIR1.second << endl; return 0; } 

Wyjście

 200 J 

Inicjalizacja pary:

Można także zainicjować parę. Aby zainicjować parę, możesz użyć następującej składni.

Składnia:

Zrzucony rdzeń błędu segmentacji
 pair (data_type1, data_type2) Pair_name (value1, value2) ; 

Różne podejścia do inicjalizacji par:

 pair g1; pair g2(1, 'a'); pair g3(1, 10); pair g4(g3); 

Marka funkcja pary(). może być również użyty do inicjalizacji pary.

 g2 = make_pair(1, 'a'); 

Deklaracja pary może również użyć następującej składni:

algorytm k-nn
 g2 = {1, 'a'}; 

Przykład:

 #include #include using namespace std; int main() { pair PAIR2('JavaTpoint', 2.23); cout << PAIR2.first << ' '; cout << PAIR2.second << endl; return 0; } 

Wyjście

 JavaTpoint 2.23 

Uwaga: Jeśli pierwsza wartość pary nie zostanie zainicjowana, zostanie ona zainicjowana automatycznie.

Przykład:

 #include #include using namespace std; int main() { pair PR1; pair PR2; cout << PR1.first; cout << PR1.second; cout << ' '; cout << PR2.first; cout << PR2.second; return 0; } 

Wyjście

 00 

Funkcje członkowskie

1) make_pair():

Bez jawnego definiowania typów, za pomocą tej funkcji szablonu można utworzyć parę wartości.

Składnia:

pole listy Java
 Pair_name = make_pair (value1,value2); 

Przykład:

 #include #include using namespace std; int main() { pair PAIR1; pair PAIR2('JavaTpoint', 1.23); pair PAIR3; PAIR1.first = 200; PAIR1.second = 'J'; PAIR3 = make_pair('JavaTpoint is super', 4.56); cout << PAIR1.first << ' '; cout << PAIR1.second << endl; cout << PAIR2.first << ' '; cout << PAIR2.second << endl; cout << PAIR3.first << ' '; cout << PAIR3.second << endl; return 0; } 

Wyjście

 200 J JavaTpoint 1.23 JavaTpoint is super 4.56 

2) zamiana:

Za pomocą tej funkcji następuje zamiana zawartości dwóch par obiektów. Pary muszą należeć do tej samej kategorii.

Składnia:

 pair1.swap(pair2) ; 

Przykład:

 #include #include using namespace std; int main() { pair pair1 = make_pair('P', 1); pair pair2 = make_pair('Q', 2); cout << 'content before swapping:
 '; cout << 'Contents of pair1 = ' << pair1.first << ' ' << pair1.second; cout << 'Contents of pair2 = ' << pair2.first << ' ' << pair2.second; pair1.swap(pair2); cout << '
 content after swapping:
 '; cout << 'Contents of pair1 = ' << pair1.first << ' ' << pair1.second; cout << 'Contents of pair2 = ' << pair2.first << ' ' << pair2.second; return 0; } 

Wyjście

c struktura w strukturze
 content before swapping: Contents of pair1 = P 1Contents of pair2 = Q 2 content after swapping: Contents of pair1 = Q 2Contents of pair2 = P 1 

3) krawat():

Ta metoda tie() działa tak samo jak krotki. Aby rozpakować wartości krotki (lub w tym przypadku pary) do zmiennych niezależnych, powstaje a krotka z wartość wskazuje na jego parametry. Oto dwie wersje krawata, jedna z i druga bez 'ignorować' , podobnie jak w krotkach. Słowo kluczowe 'ignorować' zapobiega rozpakowaniu określonego elementu krotki.

Pary mają tylko dwa argumenty, ale krotki mogą mieć wiele argumentów. Dlatego w przypadku par należy wyraźnie rozważyć rozpakowywanie.

Składnia:

 tie(int &, int &) = pair1; 

Przykład:

 #include using namespace std; int main() { pair pair1 = { 10, 12 }; int p, q; tie(p, q) = pair1; cout << p << ' ' << q << '
'; pair pair2 = { 16, 18 }; tie(p, ignore) = pair2; cout << p << ' ' << q << '
&apos;; pair <int, pair> pair3 = { 16, { 18, &apos;p&apos; } }; int x, y; char z; x = pair3.first; tie(y, z) = pair3.second; cout &lt;&lt; x &lt;&lt; &apos; &apos; &lt;&lt; y &lt;&lt; &apos; &apos; &lt;&lt; z &lt;&lt; &apos;
&apos;; } </int,>

Wyjście

 10 12 16 12 16 18 p