strings pair tuples stl
Lär dig snabbt de grundläggande begreppen strängar, par och tuppar i STL.
I den här handledningen får vi grundläggande kunskaper om strängar, par och tuples i STL innan vi faktiskt hoppar till detaljerade och större koncept som Iteratorer, algoritmer och behållare.
Även om strängar används på samma sätt som i allmänt C ++ - språk, är det värt att diskutera ur STL-synvinkel. Vi kan tänka på strängar som en sekventiell behållare av tecken. Även när vi hanterar mallklasser i STL är det mycket viktigt att vi känner till begreppet PAIR och TUPLE med avseende på STL.
=> Kontrollera de fördjupade C ++ -utbildningsövningarna här.
Vad du kommer att lära dig:
Strängar i STL
Strängar i STL stöder både ASCII- och Unicode-format (vid tecken).
STL stöder två typer av strängar:
# 1) sträng: Detta är ASCII-formatsträngen och för att inkludera denna typ av strängobjekt i programmet måste vi inkludera string.h-filen i vårt program.
#include
# 2) sträng: Det här är den breda karaktärsträngen. I MFC-programmering kallar vi det en CString. För att inkludera wstring-objekt i vårt program inkluderar vi filen xstring.
#include
Oavsett om det är ASCII eller Unicode, strängar i STL stöder olika metoder precis som de andra STL-behållarna gör.
Några av metoderna som stöds av strängobjektet är:
- Börja() : Returnera iterator i början.
- slutet() : Returnera iterator i slutet.
- Föra in() : Sätt i sträng.
- radera() : Radera tecken från sträng.
- storlek() : Returnerar strängens längd.
- tömma() : Töm strängens innehåll.
Bortsett från de ovan angivna metoderna har vi redan täckt strängklassmetoder i våra tidigare strängar i C ++ - självstudier.
Låt oss skriva ett enkelt program för att visa STL-strängar.
hur man kör en jnlp-fil
#include #include using namespace std; int main() { string str1; str1.insert(str1.end(),'W'); str1.insert(str1.end(),'O'); str1.insert(str1.end(),'R'); str1.insert(str1.end(),'L'); str1.insert(str1.end(),'D'); for (string::const_iterator it = str1.begin(); it != str1.end(); ++it) { cout << *it; } int len = str1.size(); cout<<'
Length of string:'< Produktion:
VÄRLD
Strängens längd: 5
I ovanstående kod, som vi har sett, deklarerar vi ett strängobjekt str1 och sedan använder vi insättningsmetoden, vi lägger till tecken en efter en i slutet av strängen. Sedan använder vi ett iteratorobjekt och visar strängen.
Därefter matar vi ut strängens längd med storleksmetoden. Detta är ett enkelt program för att endast visa strängarna.
PAR I STL
PAIR-klass i STL är praktiskt när du programmerar de associerande behållarna. PAIR är en mallklass som grupperar två värden av antingen samma eller olika datatyper.
Den allmänna syntaxen är:
pair pair1, pair2;
Ovanstående kodrad skapar två par, dvs par1 och par2. Båda dessa par har det första objektet av typ T1 och det andra objektet av typen T2.
T1 är den första medlemmen och T2 är den andra delen av par1 och par2.
Följande är de metoder som stöds av PAIR-klassen:
- Operatör (=): Tilldela ett par värden.
- byta: Byt ut parets innehåll.
- make_pair (): Skapa och returnerar ett par med objekt som definierats av parametern.
- Operatörer (==,! =,>,<, = ) : Jämför två par lexikografiskt.
Låt oss skriva ett grundläggande program som visar användningen av dessa funktioner i kod.
#include using namespace std; int main () { pair pair1, pair3; pair pair2; pair1 = make_pair(1, 2); pair2 = make_pair(1, 'SoftwareTestingHelp'); pair3 = make_pair(2, 4); cout<< '
Pair1 First member: '< Produktion:
Par1 Första medlem: 1
Pair2 Andra medlem: SoftwareTestingHelp
Par är inte lika
I programmet ovan skapar vi två par av typ heltal vardera och ett annat par av typ heltal och sträng. Nästa med hjälp av 'make_pair' -funktionen tilldelar vi värden till varje par.
Därefter jämför vi par1 och par2 med hjälp av operatören “==” för att kontrollera om de är lika eller inte. Detta program visar grundläggande arbete i PAIR-klassen.
Tuple I STL
Tuple-konceptet är en förlängning av Pair. I par kan vi kombinera två heterogena objekt, medan i tuples kan vi kombinera tre heterogena objekt.
Den allmänna syntaxen för en tupel är:
tupletuple1;
Precis som par stöder tuple också liknande funktioner och några fler ytterligare funktioner.
Dessa listas nedan:
- Byggare: Att konstruera en ny tupel.
- Tuple_element: Returnerar typen av tupelelement.
- make_tuple (): Skapar och returnerar en tuple med element som beskrivs av parametern.
- Operatörer (==,! =,>,<, = ): Lexikonografiskt jämför två par.
- Operatör (=): Att tilldela värde till en tuple.
- byta: Att byta värdet på två tuplar.
- Slips: Knyt värden för en tupel till dess referenser.
Låt oss använda några av dessa funktioner i ett program för att se hur de fungerar.
#include #include using namespace std; int main () { tuple tuple1; tuple tuple2; tuple1 = make_tuple(1, 2,3); tuple2 = make_tuple(1,'Hello', 'C++ Tuples'); int id; string str1, str2; tie(id, str1, str2) = tuple2; cout << id <<' '<< str1 <<' '<< str2; return 0; }
Produktion:
1 Hej C ++ Tuples
I ovanstående kod för att demonstrera tuples skapar vi två tuples. Den första tupeln 1 består av tre heltal. Andra tuple dvs tuple2 består av ett heltal och två strängvärden.
bästa verktyget för att skapa flödesschema
Därefter tilldelar vi värden till båda tuplarna med hjälp av 'make_tuple' -funktionen. Sedan använder vi 'tie' -funktionsanrop, vi knyter eller tilldelar värdena från tuple2 till id och två strängar.
Slutligen matar vi ut dessa värden. Utgången visar värdena från tuple2 som vi tilldelat id och två strängar.
Slutsats
Således i denna handledning har vi kort diskuterat strängar, par och tuple som används i STL. Medan strängoperationer liknar allmänna C ++, kan vi dessutom också använda iteratorer på dessa strängar.
Par- och tupelkonstruktioner är praktiska när du programmerar STL-behållare, särskilt associerande behållare.
I vår kommande handledning kommer vi att lära oss mer om algoritmer och iteratorer innan vi hoppar till den faktiska STL-programmeringen med hjälp av STL.
=> Besök här för att se C ++ träningsserien för alla.
Rekommenderad läsning