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