C++ Tuple

C Tuple



Delo s katerim koli programskim jezikom zahteva uporabo nizov, seznamov, nizov itd. Nizi, seznami in tuple ponujajo enake storitve z majhnimi razlikami. Tuple je objekt, ki vsebuje vrstni red elementov. Je tako kot polje in seznam, vendar sta oba spremenljiva, torka pa je nespremenljiva. Nespremenljiv objekt se med izvajanjem ne more spreminjati. Seznam in matriko je mogoče preprosto spremeniti, razrezati ali indeksirati, saj sta spremenljiva. Toda tuple ni mogoče spremeniti, razrezati ali spremeniti, ker je nespremenljiv objekt. Poleg tega lahko seznam in matrika shranita samo eno vrsto podatkov, torka pa ima lahko podatke več vrst. V tem priročniku bomo razpravljali o glavni funkciji tuple in o tem, kako jo lahko uporabimo v programu C++.

Kaj je tuple v programskem jeziku C++?

Tuple v programskem jeziku c++ je objekt, ki vsebuje urejen seznam elementov. To je nespremenljiv podatkovni tip, kar pomeni, da vrednosti v tuple ni mogoče spremeniti na nobeni točki izvajanja. Vrednost za tuple je podana v okroglih () oklepajih, ločenih z vejico, do nje pa lahko dostopate s sklicevanjem na indeks. Obstaja veliko funkcij, ki jih je mogoče izvesti na tuple, npr. get(), swap(), tuple_size() itd. V naslednjih razdelkih bomo s pomočjo primerov razložili delovanje štirih funkcij.

Primer 1:
V tem primeru bomo ustvarili tuple s funkcijo make_tuple(). Make_tuple() se uporablja v programu C++ za dodelitev vrednosti tuple. Vrednosti, ki jih je treba dodeliti tuple, morajo biti v istem vrstnem redu, kot so bile deklarirane v tuple. Oglejmo si spodnjo priloženo kodo, da bomo razumeli, kako funkcija make_tuple() deluje v programu C++.







Knjižnici »include « in »using namespace std« sta vključeni v program za uporabo standardnih vhodnih in izhodnih funkcij, kot sta cin in cout. 'Include ' bo omogočil uporabo tuple v programu. Celotna koda je na voljo v funkciji main(). Vrvka 't' je deklarirana s petimi elementi, . Vrednosti za tuple morajo slediti istemu vrstnemu redu. Kot lahko opazite, so ('a', 75, 5, 'z', 5.5) v funkciji make_tuple() v istem vrstnem redu kot vrednosti, deklarirane za tuple. Po izvedbi te kode v zameno ne boste prejeli ničesar, kar bi pomenilo, da je bila izvedba uspešna.



#include
#include
uporabo imenski prostor std ;
int glavni ( )
{
tuple < char , int , int , char , lebdi > t ;
t = make_tuple ( 'a' , 75 , 5 , 'z' , 5.5 ) ;
vrnitev 0 ;
}



Oglejte si rezultat, ki je podan na spodnjem posnetku zaslona:





Upoštevajte, da program ne vrne ničesar. Natisnemo vrednosti tuple.



Primer 2:
V tem primeru je funkcija get() uporabljena na tuple za prikaz njenih vrednosti. Vrednosti tork je mogoče natisniti le s funkcijo get() v programskem jeziku c++. Oglejte si spodnjo kodo.

Upoštevajte, da smo uporabili isto kodo in vzorčne podatke kot v prejšnjem primeru. Z uporabo funkcije make_tuple() so vrednosti uspešno dodeljene tuple. Funkcija get() se uporablja za dostop do vrednosti tuple s sklicevanjem na številko indeksa, ki se začne z 0. Vsaka številka indeksa je podana funkciji get() in vse vrednosti tuple so natisnjene s stavkom cout.

#include
#include
uporabo imenski prostor std ;
int glavni ( )
{
tuple < char , int , int , char , lebdi > t ;
t = make_tuple ( 'a' , 75 , 5 , 'z' , 5.5 ) ;
int jaz ;
cout << 'Vrednosti tuple so: ' ;
cout << dobiti < 0 > ( t ) << ' ' << dobiti < 1 > ( t ) << ' ' << dobiti < dva > ( t )
<< ' ' << dobiti < 3 > ( t ) << ' ' << dobiti < 4 > ( t ) << konec ;
vrnitev 0 ;
}

Oglejte si izhod te kode na spodnjem posnetku zaslona:

Funkcija get() natisne vrednosti v istem vrstnem redu, kot so dodeljene tuple.

Primer 3:
V tem primeru bomo prikazali delovanje funkcije tuple_size(). S pomočjo vzorčnega primera bomo pojasnili, kako s funkcijo tuple_size pridobimo velikost tuple. Oglejte si spodnjo kodo.

Preostale vrstice kode so enake kot v prejšnjih primerih. Funkcija tuple_size tukaj dobi velikost tuple. 'Decltype' pomeni deklariran tip, ki se uporablja za pregled tipa danega izraza.

#include
#include
uporabo imenski prostor std ;
int glavni ( )
{
tuple < char , int , int , char , lebdi > t ;
t = make_tuple ( 'a' , 75 , 5 , 'z' , 5.5 ) ;
int jaz ;
cout << 'Velikost tuple je = ' ;
cout << velikost_torke < decltype ( t ) > :: vrednost << konec ;
vrnitev 0 ;
}

Ko izvedete to kodo, bo ustvarjen naslednji izhod:

Tupleu smo dodelili 5 vrednosti in funkcija tuple_size() je vrnila tudi velikost tuple 5.

Primer 4:
Tuple lahko združimo s funkcijo tuple_cat() in iz njih ustvarimo nov tuple. Tukaj bomo prikazali uporabo funkcije tuple_cat() za združevanje dveh tupl.

V spodnji kodi smo deklarirali dve torki t1 in t2 in vsaki torki dodelili 3/3 vrednosti. Nato smo s funkcijo tuple_cat() združili obe tuple in iz njiju ustvarili novo tuple. Po tem smo preprosto natisnili vrednosti vseh tork s funkcijo get(). Funkcija tuple_cat() vzame tuple, ki jih je treba združiti, združi vrednosti, dodeljene vsaki tuple, in iz njih ustvari novo tuple.

Upoštevajte, da imata tulpki t1 in t2 3/3 vrednosti, vsako vrednost pa smo natisnili s funkcijo get() s sklicevanjem z indeksa 0 na indeks 2. Ko pa sta povezani, bo skupna vrednost 6. Torej potrebujemo da natisnete indeks od 0 do 5, tako da se natisnejo vse vrednosti. Oglejte si spodnji rezultat in upoštevajte, da so 3 vrednosti natisnjene na torki t1; V tulu 2 so natisnjene 3 vrednosti. Vendar pa je v tulu 3 natisnjenih 6 vrednosti, saj je povezanih vrednosti v novi tule 6.

#include
#include
uporabo imenski prostor std ;
int glavni ( )
{
tuple < char , int , lebdi > t1 ( 'a' , 75 , 6.7 ) ;
tuple < int , char , lebdi > t2 ( 10 , 't' , 77.9 ) ;
avto t3 = tuple_cat ( t1,t2 ) ;
cout << 'Prva zbirka vsebuje =  ' ;
cout << dobiti < 0 > ( t1 ) << ' ' << dobiti < 1 > ( t1 ) << ' ' << dobiti < dva > ( t1 ) << konec << konec ;
cout << 'Drugi niz vsebuje =  ' ;
cout << dobiti < 0 > ( t2 ) << ' ' << dobiti < 1 > ( t2 ) << ' ' << dobiti < dva > ( t2 ) << konec << konec ;
cout << 'Nova torka je = ' ;
cout << dobiti < 0 > ( t3 ) << ' ' << dobiti < 1 > ( t3 ) << ' ' << dobiti < dva > ( t3 ) << ' '
<< dobiti < 3 > ( t3 ) << ' ' << dobiti < 4 > ( t3 ) << ' ' << dobiti < 5 > ( t3 ) << konec ;
vrnitev 0 ;
}

Tukaj je rezultat:

Zaključek

Ta članek je pregled tuplev v programskem jeziku c++. Tuple v c++ je nespremenljiv objekt, ki nosi vrednosti različnih tipov podatkov hkrati. Tork ni mogoče spremeniti ali modificirati na nobeni točki izvajanja, ker so nespremenljive. Za doseganje določenega rezultata je na tulpih mogoče izvesti več funkcij, 4 od njih so prikazane v tem članku z vzorčnimi primeri.