Š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
#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.