C++ Tuple

C Tuple



Práca s akýmkoľvek programovacím jazykom vyžaduje použitie n-tic, zoznamov, polí atď. Polia, zoznamy a n-tice ponúkajú rovnaké služby s malými rozdielmi. N-tica je objekt, ktorý obsahuje poradový zoznam položiek. Je to ako pole a zoznam, obe sú však meniteľné, no n-tica je nemenná. Nemenný objekt nemôže počas vykonávania prejsť žiadnymi zmenami. Zoznam a pole možno ľahko upravovať, deliť na plátky alebo indexovať, pretože sú meniteľné. Ale n-ticu nemožno upravovať, krájať ani meniť, pretože ide o nemenný objekt. Okrem toho zoznam a pole môžu uchovávať iba jeden typ údajov, ale n-tica môže mať údaje viacerých typov. V tejto príručke budeme diskutovať o hlavnej funkcii n-tice a o tom, ako ju možno použiť v programe c++.

Čo je to n-tica v programovacom jazyku C++?

N-tica v programovacom jazyku c++ je objekt, ktorý obsahuje usporiadaný zoznam položiek. Je to nemenný dátový typ, čo znamená, že hodnoty v n-tici nemožno zmeniť v žiadnom bode vykonávania. Hodnota pre n-ticu je uvedená v okrúhlych () zátvorkách oddelených čiarkou a je prístupná pomocou odkazu na index. Existuje mnoho funkcií, ktoré možno vykonávať na n-tici, t. j. get(), swap(), tuple_size() atď. V ďalších častiach vysvetlíme fungovanie 4 funkcií pomocou príkladov.

Príklad 1:
V tomto príklade vytvoríme n-ticu pomocou funkcie make_tuple(). Make_tuple() sa používa v programe c++ na priradenie hodnoty n-tici. Hodnoty, ktoré je potrebné priradiť n-tici, by mali byť v rovnakom poradí, v akom boli deklarované v n-tici. Pozrime sa na priložený kód nižšie, aby sme pochopili, ako funkcia make_tuple() funguje v programe c++.







Knižnice „include “ a „using namespace std“ sú súčasťou programu na používanie štandardných vstupných a výstupných funkcií, ako sú cin a cout. „include “ umožní použitie n-tice v programe. Kompletný kód je uvedený vo funkcii main(). N-tica „t“ je deklarovaná s piatimi prvkami, . Hodnoty pre n-ticu musia byť v rovnakom poradí. Ako môžete vidieť, (‘a‘, 75, 5, ‚z‘, 5.5) vo funkcii make_tuple() sú v rovnakom poradí ako hodnoty deklarované pre n-ticu. Po vykonaní tohto kódu nedostanete na oplátku nič, čo by znamenalo, že spustenie bolo úspešné.



#include
#include
použitím menný priestor std ;
int hlavné ( )
{
násobný < char , int , int , char , plavák > t ;
t = make_tuple ( 'a' , 75 , 5 , 's' , 5.5 ) ;
vrátiť 0 ;
}



Pozrite si výsledný výstup uvedený na obrázku nižšie:





Všimnite si, že program nič nevracia. Vytlačíme hodnoty n-tice.



Príklad 2:
V tomto príklade je funkcia get() použitá na n-tici na zobrazenie jej hodnôt. Hodnoty n-tic je možné vytlačiť iba pomocou funkcie get() v programovacom jazyku c++. Pozrite si kód nižšie.

Všimnite si, že sme použili rovnaký kód a vzorové údaje ako v predchádzajúcom príklade. Pomocou funkcie make_tuple() sú hodnoty úspešne priradené n-tici. Funkcia get() sa používa na prístup k hodnotám n-tice odkazom na číslo indexu začínajúce od 0. Každé číslo indexu je priradené funkcii get() a všetky hodnoty n-tice sú vytlačené pomocou príkazu cout.

#include
#include
použitím menný priestor std ;
int hlavné ( )
{
násobný < char , int , int , char , plavák > t ;
t = make_tuple ( 'a' , 75 , 5 , 's' , 5.5 ) ;
int i ;
cout << 'Hodnoty tuple sú: ' ;
cout << dostať < 0 > ( t ) << '' << dostať < 1 > ( t ) << '' << dostať < dva > ( t )
<< '' << dostať < 3 > ( t ) << '' << dostať < 4 > ( t ) << endl ;
vrátiť 0 ;
}

Pozrite si výstup tohto kódu na snímke obrazovky nižšie:

Funkcia get() vypíše hodnoty v rovnakom poradí, v akom sú priradené n-tici.

Príklad 3:
V tomto príklade si ukážeme fungovanie funkcie tuple_size(). Pomocou vzorového príkladu vysvetlíme, ako získať veľkosť n-tice pomocou funkcie tuple_size. Pozrite si kód uvedený nižšie.

Ostatné riadky kódu sú rovnaké ako v predchádzajúcich príkladoch. Funkcia tuple_size tu získa veľkosť n-tice. „decltype“ predstavuje deklarovaný typ používaný na preskúmanie typu daného výrazu.

#include
#include
použitím menný priestor std ;
int hlavné ( )
{
násobný < char , int , int , char , plavák > t ;
t = make_tuple ( 'a' , 75 , 5 , 's' , 5.5 ) ;
int i ;
cout << 'Veľkosť n-tice je =' ;
cout << tuple_size < decltype ( t ) > :: hodnotu << endl ;
vrátiť 0 ;
}

Keď spustíte tento kód, vygeneruje sa nasledujúci výstup:

N-tici sme priradili 5 hodnôt a funkcia tuple_size() tiež vrátila veľkosť n-tice 5.

Príklad 4:
N-tice môžeme zreťaziť pomocou funkcie tuple_cat() a vytvoriť z nich novú n-ticu. Tu si ukážeme použitie funkcie tuple_cat() na zreťazenie dvoch n-tic.

V nižšie uvedenom kóde sme deklarovali dve n-tice t1 a t2 a každej n-tici sme priradili 3/3 hodnôt. Potom sme použili funkciu tuple_cat() na zreťazenie oboch n-tic a vytvorenie novej n-tice z nich. Potom sme jednoducho vytlačili hodnoty všetkých n-tic pomocou funkcie get(). Funkcia tuple_cat() vezme n-tice, ktoré je potrebné zreťaziť, skombinuje hodnoty priradené každej n-tici a vytvorí z nej novú n-ticu.

Všimnite si, že n-tice t1 a t2 majú hodnoty 3/3 a každú hodnotu sme vytlačili pomocou funkcie get() odkazovaním z indexu 0 na index 2. Keď sa však spoja, celkové hodnoty budú 6. Potrebujeme teda vytlačiť index od 0 do 5, aby sa vytlačili všetky hodnoty. Pozrite si výstup nižšie a všimnite si, že na n-tici t1 sú vytlačené 3 hodnoty; Na n-tici 2 sa vytlačia 3 hodnoty. Z n-tice 3 sa však vytlačí 6 hodnôt, pretože zreťazené hodnoty v novej n-tici sú 6.

#include
#include
použitím menný priestor std ;
int hlavné ( )
{
násobný < char , int , plavák > t1 ( 'a' , 75 , 6.7 ) ;
násobný < int , char , plavák > t2 ( 10 , 't' , 77,9 ) ;
auto t3 = tuple_cat ( t1,t2 ) ;
cout << 'Prvá n-tica obsahuje =  ' ;
cout << dostať < 0 > ( t1 ) << '' << dostať < 1 > ( t1 ) << '' << dostať < dva > ( t1 ) << endl << endl ;
cout << 'Druhá n-tica obsahuje =  ' ;
cout << dostať < 0 > ( t2 ) << '' << dostať < 1 > ( t2 ) << '' << dostať < dva > ( t2 ) << endl << endl ;
cout << 'Nová n-tica je =' ;
cout << dostať < 0 > ( t3 ) << '' << dostať < 1 > ( t3 ) << '' << dostať < dva > ( t3 ) << ''
<< dostať < 3 > ( t3 ) << '' << dostať < 4 > ( t3 ) << '' << dostať < 5 > ( t3 ) << endl ;
vrátiť 0 ;
}

Tu je výstup:

Záver

Tento článok je prehľadom n-tic v programovacom jazyku c++. N-tica v c++ je nemenný objekt, ktorý súčasne nesie hodnoty rôznych dátových typov. N-tice nie je možné meniť ani upravovať v žiadnom bode vykonávania, pretože sú nemenné. Na dosiahnutie určitého výsledku je možné na niciach vykonať niekoľko funkcií, 4 z nich sú demonštrované v tomto článku na vzorových príkladoch.