Co je to n-tice v programovacím jazyce C++?
N-tice v programovacím jazyce c++ je objekt, který obsahuje uspořádaný seznam položek. Jedná se o neměnný datový typ, což znamená, že hodnoty v n-tici nelze změnit v žádném okamžiku provádění. Hodnota n-tice je uvedena v kulatých závorkách () oddělených čárkou a lze k ní přistupovat pomocí odkazu na index. Existuje mnoho funkcí, které lze provádět na n-tici, např. get(), swap(), tuple_size() atd. V dalších částech vysvětlíme fungování těchto 4 funkcí pomocí příkladů.
Příklad 1:
V tomto příkladu vytvoříme n-tici pomocí funkce make_tuple(). Make_tuple() se používá v programu c++ k přiřazení hodnoty n-tici. Hodnoty, které je třeba přiřadit n-tici, by měly být ve stejném pořadí, v jakém byly deklarovány v n-tice. Podívejme se na níže přiložený kód, abychom pochopili, jak funkce make_tuple() funguje v programu c++.
Knihovny ‚include
#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
tuple < char , int , int , char , plovák > t ;
t = make_tuple ( 'A' , 75 , 5 , 'S' , 5.5 ) ;
vrátit se 0 ;
}
Podívejte se na výsledný výstup uvedený na snímku obrazovky níže:
Všimněte si, že program nic nevrací. Vytiskneme hodnoty n-tice.
Příklad 2:
V tomto příkladu je funkce get() použita na n-tici k zobrazení jejích hodnot. Hodnoty n-tic lze vytisknout pouze pomocí funkce get() v programovacím jazyce c++. Viz kód níže.
Všimněte si, že jsme použili stejný kód a ukázková data jako v předchozím příkladu. Pomocí funkce make_tuple() jsou hodnoty úspěšně přiřazeny n-tici. Funkce get() se používá pro přístup k hodnotám n-tice odkazem na číslo indexu začínající od 0. Každé číslo indexu je přiděleno funkci get() a všechny hodnoty n-tice jsou vytištěny pomocí příkazu cout.
#include#include
použitím jmenný prostor std ;
int hlavní ( )
{
tuple < char , int , int , char , plovák > t ;
t = make_tuple ( 'A' , 75 , 5 , 'S' , 5.5 ) ;
int i ;
cout << 'Hodnoty n-tice jsou:' ;
cout << dostat < 0 > ( t ) << '' << dostat < 1 > ( t ) << '' << dostat < dva > ( t )
<< '' << dostat < 3 > ( t ) << '' << dostat < 4 > ( t ) << endl ;
vrátit se 0 ;
}
Podívejte se na výstup tohoto kódu na níže uvedeném snímku obrazovky:
Funkce get() vytiskne hodnoty ve stejném pořadí, v jakém jsou přiřazeny n-tici.
Příklad 3:
V tomto příkladu si ukážeme fungování funkce tuple_size(). Pomocí vzorového příkladu vysvětlíme, jak získat velikost n-tice pomocí funkce tuple_size. Podívejte se na kód uvedený níže.
Zbývající řádky kódu jsou stejné jako v předchozích příkladech. Funkce tuple_size zde získá velikost n-tice. „decltype“ zastupuje deklarovaný typ používaný ke zkoumání typu daného výrazu.
#include#include
použitím jmenný prostor std ;
int hlavní ( )
{
tuple < char , int , int , char , plovák > t ;
t = make_tuple ( 'A' , 75 , 5 , 'S' , 5.5 ) ;
int i ;
cout << 'Velikost n-tice je =' ;
cout << velikost_n-tice < decltype ( t ) > :: hodnota << endl ;
vrátit se 0 ;
}
Když spustíte tento kód, vygeneruje se následující výstup:
N-tice jsme přiřadili 5 hodnot a funkce tuple_size() také vrátila velikost n-tice 5.
Příklad 4:
N-tice můžeme zřetězit pomocí funkce tuple_cat() a vytvořit z nich novou n-tice. Zde si ukážeme použití funkce tuple_cat() ke zřetězení dvou n-tic.
V níže uvedeném kódu jsme deklarovali dvě n-tice t1 a t2 a každé n-tice jsme přiřadili 3/3 hodnot. Potom jsme použili funkci tuple_cat() ke zřetězení obou n-tic a vytvoření nové n-tice z nich. Poté jsme jednoduše vytiskli hodnoty všech n-tic pomocí funkce get(). Funkce tuple_cat() vezme n-tice, které je třeba zřetězit, zkombinuje hodnoty přiřazené každé n-tice a vytvoří z ní novou n-tice.
Všimněte si, že n-tice t1 a t2 mají hodnoty 3/3 a každou hodnotu jsme vytiskli pomocí funkce get() odkazem z indexu 0 na index 2. Když jsou však zřetězeny, celkové hodnoty budou 6. Takže potřebujeme vytisknout index od 0 do 5, aby se vytiskly všechny hodnoty. Podívejte se na výstup níže a všimněte si, že na n-tici t1 jsou vytištěny 3 hodnoty; Na n-tice 2 se vytisknou 3 hodnoty. Z n-tice 3 se však vytiskne 6 hodnot, protože zřetězené hodnoty v nové n-tice jsou 6.
#include#include
použitím jmenný prostor std ;
int hlavní ( )
{
tuple < char , int , plovák > t1 ( 'A' , 75 , 6.7 ) ;
tuple < int , char , plovák > t2 ( 10 , 't' , 77,9 ) ;
auto t3 = tuple_cat ( t1,t2 ) ;
cout << 'První n-tice obsahuje = ' ;
cout << dostat < 0 > ( t1 ) << '' << dostat < 1 > ( t1 ) << '' << dostat < dva > ( t1 ) << endl << endl ;
cout << 'Druhá n-tice obsahuje = ' ;
cout << dostat < 0 > ( t2 ) << '' << dostat < 1 > ( t2 ) << '' << dostat < dva > ( t2 ) << endl << endl ;
cout << 'Nová n-tice je =' ;
cout << dostat < 0 > ( t3 ) << '' << dostat < 1 > ( t3 ) << '' << dostat < dva > ( t3 ) << ''
<< dostat < 3 > ( t3 ) << '' << dostat < 4 > ( t3 ) << '' << dostat < 5 > ( t3 ) << endl ;
vrátit se 0 ;
}
Zde je výstup:
Závěr
Tento článek je přehledem n-tic v programovacím jazyce c++. N-tice v c++ je neměnný objekt, který současně nese hodnoty různých datových typů. N-tice nelze měnit ani upravovat v žádném bodě provádění, protože jsou neměnné. Pro dosažení určitého výsledku lze na n-ticích provést několik funkcí, 4 z nich jsou demonstrovány v tomto článku na vzorových příkladech.