C++ Tuple

C Tuple



Bármilyen programozási nyelvvel való munkához sorok, listák, tömbök stb. használatára van szükség. A tömbök, listák és sorok ugyanazokat a szolgáltatásokat kínálják, kis eltérésekkel. A tuple egy objektum, amely az elemek sorrendjét tartalmazza. Ez olyan, mint egy tömb és egy lista, de mindkettő változtatható, de a tuple változatlan. Egy megváltoztathatatlan objektum nem változhat a végrehajtás során. A lista és a tömb könnyen módosítható, szeletelhető vagy indexelhető, mivel módosíthatók. De egy sor nem módosítható, szeletelhető vagy módosítható, mivel ez egy megváltoztathatatlan objektum. Ezenkívül a lista és a tömb csak egy típusú adatot tárolhat, de egy tuple többféle adatot tartalmazhat. Ebben az útmutatóban megvitatjuk a sor fő funkcióját, és azt, hogyan használhatók fel egy c++ programban.

Mi az a Tuple a C++ programozási nyelvben?

A c++ programozási nyelvben egy sor olyan objektum, amely az elemek rendezett listáját tartalmazza. Ez egy megváltoztathatatlan adattípus, ami azt jelenti, hogy a sor értékei a végrehajtás egyetlen pontján sem változtathatók meg. A sor értéke kerek () zárójelben van megadva, vesszővel elválasztva, és az index hivatkozásával érhető el. Számos függvényt lehet végrehajtani egy soron, azaz a get(), a swap(), a tuple_size() stb. A további részekben a 4 függvény működését mutatjuk be példák segítségével.

1. példa:
Ebben a példában a make_tuple() függvény használatával hozunk létre egy sort. A make_tuple() a c++ programban arra szolgál, hogy értéket rendeljen egy sorhoz. A leíróhoz hozzárendelendő értékeknek ugyanabban a sorrendben kell lenniük, ahogyan azokat a leíróban deklarálták. Nézzük meg az alábbi mellékelt kódot, hogy megértsük, hogyan működik a make_tuple() függvény egy c++ programban.







Az „include ” és a „using namespace std” könyvtárak szerepelnek a programban a szabványos bemeneti és kimeneti funkciók, például a cin és a cout használatához. Az „include ” lehetővé teszi egy sor használatát a programban. A teljes kódot a main() függvény tartalmazza. A „t” sor öt elemből áll: . A sor értékeinek ugyanazt a sorrendet kell követniük. Mint látható, a make_tuple() függvény ('a', 75, 5, 'z', 5.5) értékei ugyanabban a sorrendben vannak, mint a sorhoz deklarált értékek. A kód végrehajtása után semmit sem kap cserébe, ami azt jelzi, hogy a végrehajtás sikeres volt.



#include
#include
segítségével névtér std ;
int fő- ( )
{
tuple < char , int , int , char , úszó > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Val vel' , 5.5 ) ;
Visszatérés 0 ;
}



Tekintse meg az alábbi képernyőképen látható eredményt:





Vegye figyelembe, hogy a program nem ad vissza semmit. Nyomtassuk ki a sor értékeit.



2. példa:
Ebben a példában a get() függvényt használjuk a soron az értékek megjelenítésére. A sorok értékei csak a get() függvénnyel nyomtathatók ki a c++ programozási nyelvben. Lásd az alábbi kódot.

Vegye figyelembe, hogy ugyanazt a kódot és mintaadatokat használtuk, mint az előző példában. A make_tuple() függvény használatával az értékek sikeresen hozzá vannak rendelve a sorhoz. A get() függvény a sor értékeinek elérésére szolgál a 0-tól kezdődő indexszámra hivatkozva. Minden indexszámot a get() függvény kap, és a sor összes értéke a cout utasítással kerül kinyomtatásra.

#include
#include
segítségével névtér std ;
int fő- ( )
{
tuple < char , int , int , char , úszó > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Val vel' , 5.5 ) ;
int én ;
cout << 'A tuple értékei: ;
cout << kap < 0 > ( t ) << ' ' << kap < 1 > ( t ) << ' ' << kap < két > ( t )
<< ' ' << kap < 3 > ( t ) << ' ' << kap < 4 > ( t ) << endl ;
Visszatérés 0 ;
}

Tekintse meg ennek a kódnak a kimenetét az alábbi képernyőképen:

A get() függvény ugyanabban a sorrendben írja ki az értékeket, ahogyan azok a sorhoz vannak rendelve.

3. példa:
Ebben a példában bemutatjuk a tuple_size() függvény működését. Egy példapélda segítségével elmagyarázzuk, hogyan kaphatjuk meg a tuple_size függvény segítségével egy sor méretét. Nézze meg az alábbi kódot.

A kód többi sora ugyanaz, mint az előző példákban. A tuple_size függvény itt megkapja a tuple méretét. A „decltype” az adott kifejezés típusának vizsgálatára használt deklarált típust jelöli.

#include
#include
segítségével névtér std ;
int fő- ( )
{
tuple < char , int , int , char , úszó > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Val vel' , 5.5 ) ;
int én ;
cout << 'A sor mérete = ' ;
cout << tuple_size < decltype ( t ) > :: érték << endl ;
Visszatérés 0 ;
}

Amikor végrehajtja ezt a kódot, a következő kimenet jön létre:

A sorhoz 5 értéket rendeltünk, és a tuple_size() függvény is az 5. sor méretét adta vissza.

4. példa:
A tuple_cat() függvény segítségével összefűzhetjük a sorokat, és létrehozhatunk belőlük egy új sort. Itt bemutatjuk a tuple_cat() függvény használatát két sor összefűzésére.

Az alábbi kódban deklaráltunk két t1 és t2 sorokat, és minden sorhoz 3/3 értéket rendeltünk. Ezután a tuple_cat() függvényt használtuk mindkét sor összefűzésére, és új sor létrehozására belőlük. Ezt követően egyszerűen kiírtuk az összes sor értékét a get() függvény segítségével. A tuple_cat() függvény veszi az összefűzendő sorokat, egyesíti az egyes sorokhoz rendelt értékeket, és létrehoz egy új sort.

Vegye figyelembe, hogy a t1 és t2 sorok 3/3 értékkel rendelkeznek, és mindegyik értéket a get() függvény segítségével nyomtattuk ki, a 0 indexről a 2-es indexre hivatkozva. Ha azonban összefűzzük őket, akkor az összérték 6 lesz. az index kinyomtatásához 0-tól 5-ig, így minden érték kinyomtatásra kerül. Nézze meg az alábbi kimenetet, és vegye figyelembe, hogy 3 érték van nyomtatva a t1 soron; A 2. sorra 3 érték kerül kinyomtatásra. A 3. sorból azonban 6 érték kerül kinyomtatásra, mivel az új sor összefűzött értékei 6.

#include
#include
segítségével névtér std ;
int fő- ( )
{
tuple < char , int , úszó > t1 ( 'a' , 75 , 6.7 ) ;
tuple < int , char , úszó > t2 ( 10 , 't' , 77.9 ) ;
auto t3 = tuple_cat ( t1,t2 ) ;
cout << 'Az első sor tartalmazza: =  ' ;
cout << kap < 0 > ( t1 ) << ' ' << kap < 1 > ( t1 ) << ' ' << kap < két > ( t1 ) << endl << endl ;
cout << 'A második sor tartalmaz =  ' ;
cout << kap < 0 > ( t2 ) << ' ' << kap < 1 > ( t2 ) << ' ' << kap < két > ( t2 ) << endl << endl ;
cout << 'Az új sor = ' ;
cout << kap < 0 > ( t3 ) << ' ' << kap < 1 > ( t3 ) << ' ' << kap < két > ( t3 ) << ' '
<< kap < 3 > ( t3 ) << ' ' << kap < 4 > ( t3 ) << ' ' << kap < 5 > ( t3 ) << endl ;
Visszatérés 0 ;
}

Íme a kimenet:

Következtetés

Ez a cikk áttekintést nyújt a c++ programozási nyelv sorairól. A c++-ban lévő tuple egy megváltoztathatatlan objektum, amely egyidejűleg különböző adattípusok értékeit hordozza. A sorok nem módosíthatók vagy módosíthatók a végrehajtás egyetlen pontján sem, mivel megváltoztathatatlanok. Több funkció is végrehajtható a sorokon egy bizonyos eredmény elérése érdekében, ezek közül 4-et ebben a cikkben példákkal mutatunk be.