C++ Tuple

C Tuple



Lai strādātu ar jebkuru programmēšanas valodu, ir jāizmanto korteži, saraksti, masīvi utt. Masīvi, saraksti un korteži piedāvā tos pašus pakalpojumus ar nelielām atšķirībām. Korte ir objekts, kas satur vienumu secības sarakstu. Tas ir gluži kā masīvs un saraksts, tomēr tie abi ir mainīgi, bet kortežs ir nemainīgs. Nemainīgs objekts izpildes laikā nevar tikt mainīts. Sarakstu un masīvu var viegli modificēt, sadalīt vai indeksēt, jo tie ir mainīgi. Taču kopu nevar modificēt, sagriezt vai mainīt, jo tas ir nemainīgs objekts. Turklāt sarakstā un masīvā var saglabāt tikai viena veida datus, bet kortežā var būt vairāku veidu dati. Šajā rokasgrāmatā mēs apspriedīsim korešu galveno funkciju un to, kā to var izmantot c++ programmā.

Kas ir Korpuss C++ programmēšanas valodā?

Korpuss c++ programmēšanas valodā ir objekts, kurā ir sakārtots vienumu saraksts. Tas ir nemainīgs datu tips, kas nozīmē, ka vērtības kortežā nevar mainīt nevienā izpildes punktā. Korpusa vērtība ir norādīta apaļajās () iekavās, atdalītas ar komatu, un tai var piekļūt, izmantojot indeksa atsauci. Korejā var veikt daudzas funkcijas, t.i., get(), swap(), tuple_size() utt. Turpmākajās sadaļās mēs ar piemēru palīdzību izskaidrosim 4 funkciju darbību.

1. piemērs:
Šajā piemērā mēs izveidosim virkni, izmantojot funkciju make_tuple(). Make_tuple() tiek izmantots c++ programmā, lai kortei piešķirtu vērtību. Vērtībām, kas jāpiešķir kortei, ir jābūt tādā pašā secībā, kādā tās tika deklarētas kortežā. Apskatīsim tālāk pievienoto kodu, lai saprastu, kā funkcija make_tuple () darbojas c++ programmā.







Bibliotēkas “include ” un “using namespace std” ir iekļautas programmā, lai izmantotu standarta ievades un izvades funkcijas, piemēram, cin un cout. “Iekļaut ” ļaus programmā izmantot korešu. Pilns kods tiek nodrošināts funkcijā main(). Korpuss “t” tiek deklarēts ar pieciem elementiem: . Korpusa vērtībām ir jāatbilst tādai pašai secībai. Kā redzat, ('a', 75, 5, 'z', 5.5) funkcijā make_tuple () ir tādā pašā secībā kā kortežam deklarētās vērtības. Pēc šī koda izpildes jūs nesaņemsit neko, kas norādītu, ka izpilde ir veiksmīga.



#include
#iekļaut
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
korts < char , starpt , starpt , char , peldēt > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ar' , 5.5 ) ;
atgriezties 0 ;
}



Pārbaudiet iegūto izvadi, kas parādīta zemāk esošajā ekrānuzņēmumā:





Ņemiet vērā, ka programma neko neatgriež. Izdrukāsim kortedža vērtības.



2. piemērs:
Šajā piemērā funkcija get() tiek izmantota kortežā, lai parādītu tās vērtības. Korpusu vērtības var izdrukāt tikai ar funkciju get() c++ programmēšanas valodā. Skatiet zemāk esošo kodu.

Ņemiet vērā, ka mēs izmantojām to pašu kodu un datu paraugus, ko izmantojām iepriekšējā piemērā. Izmantojot funkciju make_tuple(), vērtības tiek veiksmīgi piešķirtas kortei. Funkciju get() izmanto, lai piekļūtu kortedža vērtībām, atsaucoties uz indeksa numuru, sākot no 0. Katrs indeksa numurs tiek piešķirts funkcijai get(), un visas kortedža vērtības tiek izdrukātas ar paziņojumu cout.

#include
#iekļaut
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
korts < char , starpt , starpt , char , peldēt > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ar' , 5.5 ) ;
starpt i ;
cout << 'Tuple vērtības ir:' ;
cout << gūt < 0 > ( t ) << ' ' << gūt < 1 > ( t ) << ' ' << gūt < divi > ( t )
<< ' ' << gūt < 3 > ( t ) << ' ' << gūt < 4 > ( t ) << endl ;
atgriezties 0 ;
}

Pārbaudiet šī koda izvadi ekrānuzņēmumā, kas parādīts zemāk:

Funkcija get() izdrukā vērtības tādā pašā secībā, kādā tās ir piešķirtas kortei.

3. piemērs:
Šajā piemērā mēs parādīsim funkcijas tuple_size() darbību. Ar parauga piemēra palīdzību mēs izskaidrosim, kā iegūt kortedža izmēru, izmantojot funkciju tuple_size. Pārbaudiet tālāk norādīto kodu.

Pārējās koda rindas ir tādas pašas kā iepriekšējos piemēros. Funkcija tuple_size šeit iegūs kortedža lielumu. “Decltype” apzīmē deklarēto tipu, ko izmanto, lai pārbaudītu dotās izteiksmes veidu.

#include
#iekļaut
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
korts < char , starpt , starpt , char , peldēt > t ;
t = make_tuple ( 'a' , 75 , 5 , 'ar' , 5.5 ) ;
starpt i ;
cout << 'Kopāles izmērs ir =' ;
cout << tuple_size < dekltips ( t ) > :: vērtību << endl ;
atgriezties 0 ;
}

Kad izpildīsit šo kodu, tiks ģenerēta šāda izvade:

Mēs piešķīrām 5 vērtības kortei, un funkcija tuple_size() arī atgrieza kortedža 5 lielumu.

4. piemērs:
Mēs varam savienot korteņus, izmantojot funkciju tuple_cat() un izveidot no tiem jaunu korešu. Šeit mēs parādīsim funkcijas tuple_cat () izmantošanu, lai savienotu divus korešus.

Tālāk norādītajā kodā mēs deklarējām divus korešus t1 un t2 un piešķīrām 3/3 vērtības katram kortei. Pēc tam mēs izmantojām funkciju tuple_cat(), lai savienotu abus korešus un izveidotu no tiem jaunu virkni. Pēc tam mēs vienkārši izdrukājām visu korešu vērtības, izmantojot funkciju get (). Funkcija tuple_cat() ņem korteņus, kas ir jāsavieno, apvieno katram kortei piešķirtās vērtības un izveido no tā jaunu korešu.

Ņemiet vērā, ka kortežām t1 un t2 ir 3/3 vērtības, un mēs izdrukājām katru vērtību, izmantojot funkciju get(), atsaucoties no indeksa 0 uz indeksu 2. Tomēr, kad tās ir savienotas, kopējās vērtības būs 6. Tātad mums ir nepieciešams lai izdrukātu indeksu no 0 līdz 5, lai tiktu izdrukātas visas vērtības. Apskatiet zemāk esošo izvadi un ņemiet vērā, ka kortežā t1 ir izdrukātas 3 vērtības; 3. vērtības tiek drukātas uz 2. koretūras. Tomēr 3. korejā tiek izdrukātas 6 vērtības, jo sasaistītās vērtības jaunajā kortejā ir 6.

#include
#iekļaut
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
korts < char , starpt , peldēt > t1 ( 'a' , 75 , 6.7 ) ;
korts < starpt , char , peldēt > t2 ( 10 , 't' , 77.9 ) ;
auto t3 = tuple_cat ( t1, t2 ) ;
cout << 'Pirmajā virknējumā ir = ' ;
cout << gūt < 0 > ( t1 ) << ' ' << gūt < 1 > ( t1 ) << ' ' << gūt < divi > ( t1 ) << endl << endl ;
cout << 'Otrajā virknējumā ir =  ' ;
cout << gūt < 0 > ( t2 ) << ' ' << gūt < 1 > ( t2 ) << ' ' << gūt < divi > ( t2 ) << endl << endl ;
cout << 'Jaunā virkne ir =' ;
cout << gūt < 0 > ( t3 ) << ' ' << gūt < 1 > ( t3 ) << ' ' << gūt < divi > ( t3 ) << ' '
<< gūt < 3 > ( t3 ) << ' ' << gūt < 4 > ( t3 ) << ' ' << gūt < 5 > ( t3 ) << endl ;
atgriezties 0 ;
}

Šeit ir izvade:

Secinājums

Šis raksts ir c++ programmēšanas valodas korešu pārskats. Korpuss c++ ir nemainīgs objekts, kas vienlaikus satur dažādu datu tipu vērtības. Korpusus nevar mainīt vai modificēt nevienā izpildes punktā, jo tie ir nemainīgi. Koreļos var veikt vairākas funkcijas, lai sasniegtu noteiktu rezultātu, 4 no tām ir parādītas šajā rakstā ar piemēru piemēriem.