C++ Tuple

C Tuple



Práce s jakýmkoli programovacím jazykem vyžaduje použití n-tic, seznamů, polí atd. Pole, seznamy a n-tice nabízejí stejné služby s malými rozdíly. N-tice je objekt, který obsahuje objednávkový seznam položek. Je to jako pole a seznam, ale oba jsou proměnlivé, ale n-tice je neměnný. Neměnný objekt nemůže během provádění podléhat žádným změnám. Seznam a pole lze snadno upravit, rozdělit na plátky nebo indexovat, protože jsou proměnlivé. Ale n-tici nelze upravovat, krájet nebo měnit, protože jde o neměnný objekt. Kromě toho může seznam a pole ukládat pouze jeden typ dat, ale n-tice může mít data více typů. V této příručce probereme hlavní funkci n-tice a jak ji lze použít v programu c++.

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 ‘ a ‚using namespace std‘ jsou součástí programu pro použití standardních vstupních a výstupních funkcí, jako je cin a cout. ‚include ‘ umožní použití n-tice v programu. Úplný kód je k dispozici ve funkci main(). N-tice „t“ je deklarována s pěti prvky, . Hodnoty pro n-tici musí být ve stejném pořadí. Jak můžete pozorovat, (‚a‘, 75, 5, ‚z‘, 5.5) ve funkci make_tuple() jsou ve stejném pořadí jako hodnoty deklarované pro n-tici. Po provedení tohoto kódu nedostanete na oplátku nic, co by znamenalo, že provedení bylo úspěšné.



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