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