C++ Tuple

C Tuple



Rad s bilo kojim programskim jezikom zahtijeva korištenje torki, popisa, nizova itd. Nizovi, popisi i torke nude iste usluge s malim razlikama. Torka je objekt koji sadrži popis redoslijeda stavki. To je isto kao niz i lista, međutim, oboje su promjenjivi, ali je tuple nepromjenjiv. Nepromjenjivi objekt ne može pretrpjeti nikakve promjene tijekom izvođenja. Popis i niz se mogu lako mijenjati, rezati ili indeksirati jer su promjenjivi. No tuple se ne može modificirati, rezati ili mijenjati jer je nepromjenjivi objekt. Štoviše, popis i niz mogu pohraniti samo jednu vrstu podataka, ali tuple može imati podatke više vrsta. U ovom ćemo vodiču raspravljati o glavnoj funkciji torke i kako se ona može koristiti u C++ programu.

Što je tuple u programskom jeziku C++?

Torka u programskom jeziku c++ je objekt koji sadrži uređeni popis stavki. To je nepromjenjiv tip podataka što znači da se vrijednosti u torki ne mogu mijenjati ni u jednom trenutku izvođenja. Vrijednost za torku navedena je u okruglim () zagradama odvojenim zarezom i može joj se pristupiti referencom indeksa. Postoje mnoge funkcije koje se mogu izvesti na torki, npr. get(), swap(), tuple_size(), itd. U daljnjim odjeljcima objasnit ćemo rad 4 funkcije uz pomoć primjera.

Primjer 1:
U ovom primjeru stvorit ćemo tuple pomoću funkcije make_tuple(). Make_tuple() se koristi u C++ programu za dodjeljivanje vrijednosti torki. Vrijednosti koje je potrebno dodijeliti torki trebaju biti istim redoslijedom kako su deklarirane u torki. Pogledajmo priloženi kod u nastavku da bismo razumjeli kako funkcija make_tuple() radi u C++ programu.







Biblioteke 'include ' i 'using namespace std' uključene su u program za korištenje standardnih ulaznih i izlaznih funkcija kao što su cin i cout. 'Include ' će omogućiti korištenje tuple u programu. Potpuni kod nalazi se u funkciji main(). Torka 't' deklarirana je s pet elemenata, . Vrijednosti za tuple moraju slijediti isti redoslijed. Kao što možete primijetiti, ('a', 75, 5, 'z', 5.5) u funkciji make_tuple() istim su redoslijedom kao i vrijednosti deklarirane za tuple. Nakon izvršavanja ovog koda, nećete dobiti ništa zauzvrat što bi značilo da je izvršenje uspješno.



#include
#uključi
korištenjem imenski prostor std ;
int glavni ( )
{
tuple < char , int , int , char , plutati > t ;
t = napraviti_torku ( 'a' , 75 , 5 , 'S' , 5.5 ) ;
povratak 0 ;
}



Provjerite rezultirajući izlaz dat na snimci zaslona u nastavku:





Imajte na umu da program ne vraća ništa. Ispišimo vrijednosti torke.



Primjer 2:
U ovom primjeru funkcija get() koristi se na torci za prikaz njezinih vrijednosti. Vrijednosti torki mogu se ispisati samo pomoću funkcije get() u programskom jeziku c++. Pogledajte kod ispod.

Imajte na umu da smo upotrijebili isti kod i uzorak podataka kao u prethodnom primjeru. Korištenjem funkcije make_tuple(), vrijednosti se uspješno dodjeljuju torki. Funkcija get() koristi se za pristup vrijednostima torke pozivanjem na indeksni broj počevši od 0. Svaki indeksni broj dan je funkciji get(), a sve vrijednosti torke ispisuju se s naredbom cout.

#include
#uključi
korištenjem imenski prostor std ;
int glavni ( )
{
tuple < char , int , int , char , plutati > t ;
t = napraviti_torku ( 'a' , 75 , 5 , 'S' , 5.5 ) ;
int ja ;
cout << 'Vrijednosti tuple su: ' ;
cout << dobiti < 0 > ( t ) << ' ' << dobiti < 1 > ( t ) << ' ' << dobiti < dva > ( t )
<< ' ' << dobiti < 3 > ( t ) << ' ' << dobiti < 4 > ( t ) << endl ;
povratak 0 ;
}

Pogledajte izlaz ovog koda na snimci zaslona u nastavku:

Funkcija get() ispisuje vrijednosti istim redoslijedom kojim su dodijeljene torki.

Primjer 3:
U ovom primjeru ćemo pokazati rad funkcije tuple_size(). Uz pomoć oglednog primjera objasnit ćemo kako pomoću funkcije tuple_size doći do veličine tuple. Provjerite kod naveden u nastavku.

Ostatak redaka koda isti je kao korišten u prethodnim primjerima. Funkcija tuple_size ovdje će dobiti veličinu torke. 'Decltype' označava deklarirani tip koji se koristi za ispitivanje tipa zadanog izraza.

#include
#uključi
korištenjem imenski prostor std ;
int glavni ( )
{
tuple < char , int , int , char , plutati > t ;
t = napraviti_torku ( 'a' , 75 , 5 , 'S' , 5.5 ) ;
int ja ;
cout << 'Veličina torke je = ' ;
cout << veličina_torke < decltype ( t ) > :: vrijednost << endl ;
povratak 0 ;
}

Kada izvršite ovaj kod, generira se sljedeći izlaz:

Dodijelili smo 5 vrijednosti torki, a funkcija tuple_size() također je vratila veličinu torke 5.

Primjer 4:
Tuple možemo spojiti pomoću funkcije tuple_cat() i od njih stvoriti novu tuple. Ovdje ćemo pokazati korištenje funkcije tuple_cat() za spajanje dviju torki.

U donjem kodu deklarirali smo dvije torke t1 i t2 i svakoj torki dodijelili 3/3 vrijednosti. Zatim smo upotrijebili funkciju tuple_cat() za spajanje obje torke i stvaranje nove torke od njih. Nakon toga jednostavno smo ispisali vrijednosti svih torki pomoću funkcije get(). Funkcija tuple_cat() uzima torke koje je potrebno spojiti, kombinira vrijednosti dodijeljene svakoj torki i iz nje stvara novu torku.

Imajte na umu da torke t1 i t2 imaju 3/3 vrijednosti i ispisali smo svaku vrijednost pomoću funkcije get() referenciranjem s indeksa 0 na indeks 2. Međutim, kada su spojene, ukupne vrijednosti bit će 6. Dakle, trebamo za ispis indeksa od 0 do 5 tako da se sve vrijednosti ispisuju. Pogledajte izlaz u nastavku i imajte na umu da su 3 vrijednosti ispisane na torku t1; 3 vrijednosti su ispisane na torku 2. Međutim, 6 vrijednosti je ispisano iz torke 3 jer su spojene vrijednosti u novoj torki 6.

#include
#uključi
korištenjem imenski prostor std ;
int glavni ( )
{
tuple < char , int , plutati > t1 ( 'a' , 75 , 6.7 ) ;
tuple < int , char , plutati > t2 ( 10 , 't' , 77.9 ) ;
auto t3 = tuple_cat ( t1,t2 ) ;
cout << 'Prva torka sadrži =  ' ;
cout << dobiti < 0 > ( t1 ) << ' ' << dobiti < 1 > ( t1 ) << ' ' << dobiti < dva > ( t1 ) << endl << endl ;
cout << 'Druga zbirka sadrži =  ' ;
cout << dobiti < 0 > ( t2 ) << ' ' << dobiti < 1 > ( t2 ) << ' ' << dobiti < dva > ( t2 ) << endl << endl ;
cout << 'Nova torka je = ' ;
cout << dobiti < 0 > ( t3 ) << ' ' << dobiti < 1 > ( t3 ) << ' ' << dobiti < dva > ( t3 ) << ' '
<< dobiti < 3 > ( t3 ) << ' ' << dobiti < 4 > ( t3 ) << ' ' << dobiti < 5 > ( t3 ) << endl ;
povratak 0 ;
}

Evo rezultata:

Zaključak

Ovaj članak je pregled torki u programskom jeziku c++. Tuple u c++ je nepromjenjivi objekt koji nosi vrijednosti različitih tipova podataka u isto vrijeme. Torke se ne mogu mijenjati ili modificirati u bilo kojoj točki izvođenja jer su nepromjenjive. Nekoliko funkcija može se izvršiti na torkama da bi se postigao određeni rezultat, 4 od njih prikazane su u ovom članku s oglednim primjerima.