C++ Tuple

C Tuple



Työskentely minkä tahansa ohjelmointikielen kanssa edellyttää monikoiden, listojen, taulukoiden jne. käyttöä. Taulukot, listat ja monikot tarjoavat samat palvelut pienin eroin. Tuple on objekti, joka sisältää järjestysluettelon kohteista. Se on aivan kuin matriisi ja lista, mutta molemmat ovat muuttuvia, mutta monikko on muuttumaton. Muuttumaton objekti ei voi tehdä muutoksia suorituksen aikana. Luetteloa ja taulukkoa voidaan helposti muokata, viipaloida tai indeksoida, koska ne ovat muuttuvia. Mutta monikkoa ei voi muokata, viipaloida tai muuttaa, koska se on muuttumaton objekti. Lisäksi luettelo ja matriisi voivat tallentaa vain yhden tyyppistä dataa, mutta monikko voi sisältää useita tietoja. Tässä oppaassa käsittelemme monikon päätoimintoa ja kuinka sitä voidaan käyttää c++-ohjelmassa.

Mikä on tuple C++-ohjelmointikielessä?

c++-ohjelmointikielen monikko on objekti, joka sisältää järjestetyn luettelon kohteista. Se on muuttumaton tietotyyppi, mikä tarkoittaa, että monikon arvoja ei voida muuttaa missään suorituskohdassa. Tuplen arvo annetaan pyöreissä () suluissa pilkulla erotettuna ja siihen pääsee indeksin viitteellä. Monikkoon voidaan suorittaa monia toimintoja, eli get(), swap(), tuple_size() jne. Seuraavissa osioissa selitämme näiden neljän funktion toimintaa esimerkkien avulla.

Esimerkki 1:
Tässä esimerkissä luomme monikon käyttämällä make_tuple()-funktiota. Make_tuple()-funktiota käytetään c++-ohjelmassa arvon määrittämiseen monikolle. Monikolle määritettävien arvojen tulee olla samassa järjestyksessä kuin ne on ilmoitettu monikossa. Katsotaanpa alla olevaa liitteenä olevaa koodia ymmärtääksemme, kuinka make_tuple()-funktio toimii c++-ohjelmassa.







'Include ' ja 'using namespace std' -kirjastot sisältyvät ohjelmaan käyttämään tavallisia syöttö- ja tulostustoimintoja, kuten cin ja cout. 'Sisällytä ' sallii monikon käytön ohjelmassa. Täydellinen koodi on main()-funktiossa. Tuple 't' on ilmoitettu viidellä elementillä, . Monikon arvojen on noudatettava samaa järjestystä. Kuten huomaat, make_tuple()-funktion ('a', 75, 5, 'z', 5.5) arvot ovat samassa järjestyksessä kuin monikkolle ilmoitetut arvot. Tämän koodin suorittamisen jälkeen et saa mitään vastineeksi siitä, että suoritus on onnistunut.



#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
monikko < hiiltyä , int , int , hiiltyä , kellua > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Kanssa' , 5.5 ) ;
palata 0 ;
}



Tarkista alla olevassa kuvakaappauksessa annettu tulos:





Huomaa, että ohjelma ei palauta mitään. Tulostetaan monikon arvot.



Esimerkki 2:
Tässä esimerkissä get()-funktiota käytetään monitoossa sen arvojen näyttämiseen. Lukioiden arvot voidaan tulostaa vain c++-ohjelmointikielen get()-funktiolla. Katso alla oleva koodi.

Huomaa, että käytimme samaa koodia ja näytetietoja kuin edellisessä esimerkissä. Make_tuple()-funktion avulla arvot määritetään onnistuneesti monikolle. Get()-funktiolla päästään monikon arvoihin viittaamalla 0:sta alkavaan indeksinumeroon. Jokainen indeksinumero annetaan get()-funktiolle ja kaikki monikon arvot tulostetaan cout-käskyllä.

#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
monikko < hiiltyä , int , int , hiiltyä , kellua > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Kanssa' , 5.5 ) ;
int i ;
cout << 'Tuplen arvot ovat:' ;
cout << saada < 0 > ( t ) << ' ' << saada < 1 > ( t ) << ' ' << saada < kaksi > ( t )
<< ' ' << saada < 3 > ( t ) << ' ' << saada < 4 > ( t ) << endl ;
palata 0 ;
}

Tarkista tämän koodin tulos alla olevasta kuvakaappauksesta:

Get()-funktio tulostaa arvot samassa järjestyksessä kuin ne on määritetty monikolle.

Esimerkki 3:
Tässä esimerkissä esittelemme tuple_size()-funktion toimintaa. Esimerkkiesimerkin avulla selitämme kuinka monikon koko saadaan tuple_size-funktiolla. Tarkista alla oleva koodi.

Loput koodirivit ovat samat kuin edellisissä esimerkeissä. Tuple_size-funktio tässä saa tuplen koon. 'decltype' tarkoittaa ilmoitettua tyyppiä, jota käytetään tietyn lausekkeen tyypin tutkimiseen.

#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
monikko < hiiltyä , int , int , hiiltyä , kellua > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Kanssa' , 5.5 ) ;
int i ;
cout << 'Tuplen koko on =' ;
cout << tuple_size < decltype ( t ) > :: arvo << endl ;
palata 0 ;
}

Kun suoritat tämän koodin, seuraava tulos luodaan:

Annoimme monikkolle 5 arvoa ja tuple_size()-funktio palautti myös monikon koon 5.

Esimerkki 4:
Voimme ketjuttaa monikot käyttämällä tuple_cat()-funktiota ja luoda niistä uuden monikon. Tässä esittelemme tuple_cat()-funktion käyttöä kahden monikon ketjuttamiseen.

Alla annetussa koodissa määritimme kaksi monikkoa t1 ja t2 ja määritimme 3/3 arvoa kullekin monikolle. Sitten käytimme tuple_cat()-funktiota ketjuttamaan molemmat monikot ja luomaan niistä uusi monikko. Sen jälkeen tulostimme yksinkertaisesti kaikkien monikoiden arvot get()-funktiolla. Funktio tuple_cat() ottaa ketjutettavat monikot, yhdistää kullekin monikolle määritetyt arvot ja luo siitä uuden monikon.

Huomaa, että monikoilla t1 ja t2 on 3/3 arvoa ja tulostimme jokaisen arvon get()-funktiolla viittaamalla indeksistä 0 indeksiin 2. Kuitenkin, kun ne ketjutetaan, kokonaisarvot ovat 6. tulostaa indeksin 0–5, jotta kaikki arvot tulostuvat. Katso alla oleva tulos ja huomaa, että monikkoon t1 tulostetaan 3 arvoa; 3 arvoa tulostetaan monikolle 2. Kuitenkin 6 arvoa tulostetaan monikosta 3, koska ketjutetut arvot uudessa monikossa ovat 6.

#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
monikko < hiiltyä , int , kellua > t1 ( 'a' , 75 , 6.7 ) ;
monikko < int , hiiltyä , kellua > t2 ( 10 , 't' , 77.9 ) ;
auto t3 = tuple_cat ( t1, t2 ) ;
cout << 'Ensimmäinen monikko sisältää =  ' ;
cout << saada < 0 > ( t1 ) << ' ' << saada < 1 > ( t1 ) << ' ' << saada < kaksi > ( t1 ) << endl << endl ;
cout << 'Toinen monikko sisältää =  ' ;
cout << saada < 0 > ( t2 ) << ' ' << saada < 1 > ( t2 ) << ' ' << saada < kaksi > ( t2 ) << endl << endl ;
cout << 'Uusi monikko on =' ;
cout << saada < 0 > ( t3 ) << ' ' << saada < 1 > ( t3 ) << ' ' << saada < kaksi > ( t3 ) << ' '
<< saada < 3 > ( t3 ) << ' ' << saada < 4 > ( t3 ) << ' ' << saada < 5 > ( t3 ) << endl ;
palata 0 ;
}

Tässä on tulos:

Johtopäätös

Tämä artikkeli on yleiskatsaus c++-ohjelmointikielen monikkoteksteihin. C++:n monikko on muuttumaton objekti, joka kuljettaa eri tietotyyppien arvoja samanaikaisesti. Tupleja ei voi muuttaa tai muokata missään suorituskohdassa, koska ne ovat muuttumattomia. Useita toimintoja voidaan suorittaa monikoille tietyn tuloksen saavuttamiseksi, joista 4 on esitetty tässä artikkelissa esimerkkiesimerkeillä.