logo

SUporuoti C++

Pora yra terminas, naudojamas sujungti dvi reikšmes, kurios gali būti įvairių duomenų rūšių. Pora siūlo du skirtingus objektus laikyti kartu saugykloje. Iš esmės mes naudojame jį saugojimui korteles . Porinis konteineris yra paprastas konteineris, nurodytas antraštėje ir kuriame yra du duomenų elementai arba objektai.

  • Seka yra fiksuota, o pirmasis elementas vadinamas 'Pirmas' o antrasis kaip „antrasis“ (pirmas, antras) .
  • Galima priskirti, kopijuoti ir palyginti pora. Žemėlapyje arba maišos žemėlapyje priskirtų objektų masyvas pagal numatytuosius nustatymus yra tipo 'pora' , tai reiškia, kad visi 'Pirmas' komponentai yra skirtingi raktai, sujungti su objektais 'antras'
  • Mes naudojame kintamojo pavadinimas, taško operatorius, žodis pirmas arba antras , ir elementas norime prieiti.

C++ poros sintaksė:

 pair Pair_name 

Pavyzdys:

Programa poroms 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; } 

Išvestis

 200 J 

Poros inicijavimas:

Taip pat galima inicijuoti porą. Norėdami inicijuoti porą, galite naudoti šią sintaksę.

Sintaksė:

 pair (data_type1, data_type2) Pair_name (value1, value2) ; 

Įvairūs poros inicijavimo būdai:

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

Gaminys pair() funkcija taip pat gali būti naudojamas inicijuoti porą.

 g2 = make_pair(1, 'a'); 

Poros deklaracija taip pat gali naudoti šią sintaksę:

 g2 = {1, 'a'}; 

Pavyzdys:

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

Išvestis

 JavaTpoint 2.23 

Pastaba: jei pirmoji poros reikšmė nėra inicijuojama, ji inicijuojama automatiškai.

Pavyzdys:

segmentacijos gedimo branduolys išmestas
 #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; } 

Išvestis

 00 

Narių funkcijos

1) make_pair():

Aiškiai neapibrėžiant tipų, naudojant šią šablono funkciją galima sukurti reikšmių porą.

Sintaksė:

 Pair_name = make_pair (value1,value2); 

Pavyzdys:

 #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; } 

Išvestis

 200 J JavaTpoint 1.23 JavaTpoint is super 4.56 

2) apsikeitimas:

mycricketlive

Naudojant šią funkciją, perjungiamas dviejų porų objektų turinys. Poros turi priklausyti tai pačiai kategorijai.

Sintaksė:

 pair1.swap(pair2) ; 

Pavyzdys:

 #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; } 

Išvestis

 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) lygiosios():

Šis tie() metodas veikia taip pat, kaip kortelių darbas. Norėdami išpakuoti kortelių (arba šiuo atveju poros) reikšmes į nepriklausomus kintamuosius, jis sukuria a kortele apie lvalu nurodo jo parametrus. Čia yra du kaklaraiščio variantai, vienas su ir kitas be 'ignoruoti' , kaip ir korteles. Raktažodis 'ignoruoti' neleidžia išpakuoti tam tikros eilutės elemento.

Poros turi tik du argumentus, tačiau kortelės gali turėti daug argumentų. Todėl išpakavimas turi būti aiškiai sprendžiamas porų atveju.

Sintaksė:

 tie(int &, int &) = pair1; 

Pavyzdys:

 #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,>

Išvestis

 10 12 16 12 16 18 p