C++ Tupel

C Tupel



Werken met elke programmeertaal vereist het gebruik van tupels, lijsten, arrays en dergelijke. De arrays, lijsten en tupels bieden dezelfde services met kleine verschillen. Een tuple is een object dat een bestellijst met items bevat. Het is net als een array en een lijst, maar ze zijn allebei veranderlijk, maar de tupel is onveranderlijk. Een onveranderlijk object kan tijdens de uitvoering geen wijzigingen ondergaan. De lijst en array kunnen eenvoudig worden gewijzigd, gesegmenteerd of geïndexeerd, omdat ze veranderlijk zijn. Maar een tuple kan niet worden gewijzigd, gesegmenteerd of gewijzigd, omdat het een onveranderlijk object is. Bovendien kunnen de lijst en array slechts één type gegevens opslaan, maar een tupel kan gegevens van meerdere typen hebben. In deze handleiding bespreken we de belangrijkste functie van een tuple en hoe deze in een c++-programma kan worden gebruikt.

Wat is een Tuple in een C++ programmeertaal?

Een tuple in een programmeertaal c++ is een object dat een geordende lijst met items bevat. Het is een onveranderlijk gegevenstype, wat betekent dat de waarden in de tuple op geen enkel moment van uitvoering kunnen worden gewijzigd. De waarde voor een tuple wordt gegeven tussen ronde () haken gescheiden door een komma en is toegankelijk via de referentie van de index. Er zijn veel functies die op een tuple kunnen worden uitgevoerd, d.w.z. get(), swap(), tuple_size(), enz. In de verdere paragrafen zullen we de werking van de 4 functies uitleggen aan de hand van voorbeelden.

Voorbeeld 1:
In dit voorbeeld zullen we een tuple maken met behulp van de functie make_tuple(). De make_tuple() wordt gebruikt in een c++ programma om waarde toe te kennen aan een tuple. De waarden die aan de tuple moeten worden toegewezen, moeten in dezelfde volgorde staan ​​als waarin ze in de tuple zijn gedeclareerd. Laten we de bijgevoegde code hieronder bekijken om te begrijpen hoe de functie make_tuple() werkt in een c++-programma.







De bibliotheken 'include ' en 'using namespace std' zijn in het programma opgenomen om de standaard invoer- en uitvoerfuncties zoals cin en cout te gebruiken. De 'include ' zal het gebruik van een tuple in het programma toestaan. De volledige code wordt geleverd in de functie main(). Een tuple 't' wordt gedeclareerd met vijf elementen, . De waarden voor de tuple moeten dezelfde volgorde volgen. Zoals je kunt zien, staan ​​(‘a’, 75, 5, ‘z’, 5.5) in de functie make_tuple() in dezelfde volgorde als de waarden die voor de tuple zijn gedeclareerd. Na het uitvoeren van deze code, krijg je niets terug wat aangeeft dat de uitvoering succesvol is.



#include
#include
gebruik makend van naamruimte soa ;
int hoofd ( )
{
tupel < char , int , int , char , vlot > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Met' , 5.5 ) ;
opbrengst 0 ;
}



Bekijk de resulterende uitvoer in de onderstaande schermafbeelding:





Merk op dat er niets wordt geretourneerd door het programma. Laten we de waarden van de tupel afdrukken.



Voorbeeld 2:
In dit voorbeeld wordt de functie get() gebruikt op de tuple om de waarden ervan weer te geven. De waarden van tupels kunnen alleen worden afgedrukt met de functie get() in de programmeertaal c++. Zie onderstaande code.

Merk op dat we dezelfde code en voorbeeldgegevens hebben gebruikt als in het vorige voorbeeld. Door de functie make_tuple() te gebruiken, worden de waarden met succes aan de tuple toegewezen. De functie get() wordt gebruikt om toegang te krijgen tot de waarden van de tuple door te verwijzen naar het indexnummer vanaf 0. Elk indexnummer wordt gegeven aan de functie get() en alle waarden van de tuple worden afgedrukt met de instructie cout.

#include
#include
gebruik makend van naamruimte soa ;
int hoofd ( )
{
tupel < char , int , int , char , vlot > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Met' , 5.5 ) ;
int i ;
cout << 'De waarden van tuple zijn: ' ;
cout << krijgen < 0 > ( t ) << ' ' << krijgen < 1 > ( t ) << ' ' << krijgen < twee > ( t )
<< ' ' << krijgen < 3 > ( t ) << ' ' << krijgen < 4 > ( t ) << eindel ;
opbrengst 0 ;
}

Bekijk de uitvoer van deze code in de onderstaande schermafbeelding:

De functie get() drukt de waarden af ​​in dezelfde volgorde als waarin ze aan de tuple zijn toegewezen.

Voorbeeld 3:
In dit voorbeeld demonstreren we de werking van de functie tuple_size(). Aan de hand van een voorbeeldvoorbeeld zullen we uitleggen hoe je de grootte van een tuple kunt krijgen met behulp van de functie tuple_size. Bekijk de onderstaande code.

De rest van de coderegels zijn hetzelfde als in eerdere voorbeelden. De functie tuple_size hier krijgt de grootte van de tuple. Het 'decltype' staat voor het gedeclareerde type dat wordt gebruikt om het type van een gegeven uitdrukking te onderzoeken.

#include
#include
gebruik makend van naamruimte soa ;
int hoofd ( )
{
tupel < char , int , int , char , vlot > t ;
t = make_tuple ( 'a' , 75 , 5 , 'Met' , 5.5 ) ;
int i ;
cout << 'De grootte van de tupel is = ' ;
cout << tuple_size < decltype ( t ) > :: waarde << eindel ;
opbrengst 0 ;
}

Wanneer u deze code uitvoert, wordt de volgende uitvoer gegenereerd:

We hebben 5 waarden toegewezen aan de tuple en de functie tuple_size() retourneerde ook de grootte van tuple 5.

Voorbeeld 4:
We kunnen de tupels samenvoegen door de functie tuple_cat() te gebruiken en er een nieuwe tuple van te maken. Hier zullen we het gebruik van de functie tuple_cat() demonstreren om twee tupels samen te voegen.

In de onderstaande code hebben we twee tuples t1 en t2 gedeclareerd en aan elke tuple 3/3 waarden toegekend. Vervolgens hebben we de functie tuple_cat() gebruikt om beide tupels samen te voegen en er een nieuwe tuple van te maken. Daarna hebben we eenvoudig de waarden van alle tuples afgedrukt met behulp van de functie get(). De functie tuple_cat() neemt de tupels die moeten worden samengevoegd, combineert de waarden die aan elke tuple zijn toegewezen en maakt er een nieuwe tuple van.

Merk op dat de tuples t1 en t2 3/3 waarden hebben en we hebben elke waarde afgedrukt met de functie get() door te verwijzen van index 0 naar index 2. Wanneer ze echter aaneengeschakeld zijn, zullen de totale waarden 6 zijn. om de index van 0 tot 5 af te drukken, zodat alle waarden worden afgedrukt. Bekijk de uitvoer hieronder en merk op dat er 3 waarden zijn afgedrukt op de tuple t1; Er worden 3 waarden afgedrukt op tupel 2. Er worden echter 6 waarden afgedrukt van tupel 3 aangezien de aaneengeschakelde waarden in de nieuwe tupel 6 zijn.

#include
#include
gebruik makend van naamruimte soa ;
int hoofd ( )
{
tupel < char , int , vlot > t1 ( 'a' , 75 , 6.7 ) ;
tupel < int , char , vlot > t2 ( 10 , 't' , 77,9 ) ;
auto t3 = tuple_cat ( t1,t2 ) ;
cout << 'De eerste tupel bevat =  ' ;
cout << krijgen < 0 > ( t1 ) << ' ' << krijgen < 1 > ( t1 ) << ' ' << krijgen < twee > ( t1 ) << eindel << eindel ;
cout << 'De tweede tupel bevat =  ' ;
cout << krijgen < 0 > ( t2 ) << ' ' << krijgen < 1 > ( t2 ) << ' ' << krijgen < twee > ( t2 ) << eindel << eindel ;
cout << 'De nieuwe tupel is = ' ;
cout << krijgen < 0 > ( t3 ) << ' ' << krijgen < 1 > ( t3 ) << ' ' << krijgen < twee > ( t3 ) << ' '
<< krijgen < 3 > ( t3 ) << ' ' << krijgen < 4 > ( t3 ) << ' ' << krijgen < 5 > ( t3 ) << eindel ;
opbrengst 0 ;
}

Hier is de uitvoer:

Conclusie

Dit artikel is een overzicht van tupels in de programmeertaal c++. De tuple in c++ is een onveranderlijk object dat tegelijkertijd de waarden van verschillende gegevenstypen bevat. De tuples kunnen op geen enkel moment van uitvoering worden gewijzigd of aangepast, omdat ze onveranderlijk zijn. Verschillende functies kunnen op tupels worden uitgevoerd om een ​​bepaald resultaat te bereiken, 4 daarvan worden in dit artikel gedemonstreerd met voorbeeldvoorbeelden.