strings pair tuples stl
Apreneu ràpidament els conceptes bàsics de cordes, parells i tuples de STL.
En aquest tutorial, obtindrem coneixements bàsics de cordes, parells i tuples en STL, abans de saltar a conceptes més detallats i més grans com ara iteradors, algorismes i contenidors.
Tot i que les cadenes s’utilitzen de la mateixa manera que en el llenguatge C ++ general, val la pena discutir-les des del punt de vista STL. Podem pensar en les cadenes com un contenidor seqüencial de personatges. A més, ja que tractem les classes de plantilla a STL, és força imprescindible que coneguem el concepte PAIR i TUPLE pel que fa a STL.
=> Consulteu aquí els tutorials de formació en profunditat C ++.
Què aprendreu:
Cordes a STL
Les cadenes en STL admeten tant el format ASCII com el format Unicode (de caràcter ampli).
STL admet dos tipus de cordes:
# 1) cadena: Aquesta és la cadena de format ASCII i per incloure aquest tipus d’objectes de cadena al programa hem d’incloure el fitxer string.h al nostre programa.
#include
# 2) wstring: Aquesta és la cadena de caràcters amplis. A la programació MFC, l’anomenem CString. Per incloure objectes wstring al nostre programa, incloem el fitxer xstring.
#include
Ja sigui ASCII o Unicode, les cadenes de STL admeten diversos mètodes de la mateixa manera que ho fan els altres contenidors STL.
Alguns dels mètodes admesos per l'objecte string són:
- begin () : Torna l'iterador al principi.
- final() : Torna l'iterador al final.
- insert () : Insereix a la cadena.
- esborrar () : Esborra els caràcters de la cadena.
- mida () : Retorna la longitud de la cadena.
- buit() : Buida el contingut de la cadena.
A part d'aquests mètodes esmentats anteriorment, ja hem tractat els mètodes de classe de cadena a les nostres cadenes anteriors als tutorials de C ++.
Escrivim un programa senzill per demostrar les cadenes STL.
avantatges de Linux sobre Windows 10
#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:'< Sortida:
MÓN
Longitud de la corda: 5
Al codi anterior, com hem vist, declarem un objecte de cadena str1 i, seguidament, mitjançant el mètode insert, afegim caràcters un a un al final de la cadena. A continuació, mitjançant un objecte iterador, mostrarem la cadena.
A continuació, generem la longitud de la cadena mitjançant el mètode size. Aquest és un programa senzill per demostrar només les cadenes.
PARELLA A STL
La classe PAIR a STL és útil mentre es programen els contenidors associatius. PAIR és una classe de plantilla que agrupa dos valors del mateix o de diferents tipus de dades.
La sintaxi general és:
pair pair1, pair2;
La línia de codi anterior crea dos parells, és a dir, pair1 i pair2. Tots dos parells tenen el primer objecte del tipus T1 i el segon objecte del tipus T2.
T1 és el primer membre i T2 és el segon membre de pair1 i pair2.
A continuació es detallen els mètodes compatibles amb la classe PAIR:
- Operador (=): Assigneu valors a un parell.
- intercanviar: Intercanvia el contingut del parell.
- make_pair (): Crea i retorna un parell amb objectes definits per la llista de paràmetres.
- Operadors (==,! =,>,<, = ) : Compara lexicogràficament dos parells.
Escrivim un programa bàsic que mostri l’ús d’aquestes funcions al codi.
#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: '< Sortida:
Parell1 Primer membre: 1
Pair2 Segon membre: SoftwareTestingHelp
Les parelles no són iguals
Al programa anterior, creem dos parells de tipus enter cadascun i un altre parell de tipus enter i cadena. A continuació, mitjançant la funció 'make_pair' assignem valors a cada parell.
A continuació, comparem parell1 i parell2 mitjançant l’operador “==” per comprovar si són iguals o no. Aquest programa demostra el funcionament bàsic de la classe PAIR.
Tupla a STL
El concepte tupla és una extensió de Pair. En parella, podem combinar dos objectes heterogenis, mentre que en les tuples podem combinar tres objectes heterogenis.
La sintaxi general d'una tupla és:
tupletuple1;
Igual que el parell, la tupla també admet funcions similars i algunes funcions addicionals.
A continuació es detallen:
que vr funciona amb Xbox One
- constructor: Per construir una nova tupla.
- Element_tuple: Retorna el tipus d'element de tupla.
- make_tuple (): Crea i retorna una tupla amb elements descrits per la llista de paràmetres.
- Operadors (==,! =,>,<, = ): Compara lexicogràficament dos parells.
- Operador (=): Per assignar valor a una tupla.
- intercanviar: Per canviar el valor de dues tuples.
- Corbata: Lligueu els valors d’una tupla a les seves referències.
Utilitzem algunes d’aquestes funcions en un programa per veure el seu funcionament.
#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; }
Sortida:
1 Hola C ++ tuples
Al codi anterior per demostrar tuples, creem dues tuples. La primera tupla tupla1 consta de tres valors enters. La segona tupla és a dir, la tupla2 consisteix en un valor enter i dos valors de cadena.
A continuació, assignem valors a les dues tuples mitjançant la funció 'make_tuple'. A continuació, mitjançant la trucada de funció 'empat', lliguem o assignem els valors de tupla2 a id i dues cadenes.
Finalment, publiquem aquests valors. La sortida mostra els valors de tuple2 que hem assignat a id i dues cadenes.
Conclusió
Així, en aquest tutorial, hem comentat breument les cadenes, els parells i les tuples que s’utilitzen a STL. Mentre que les operacions de cadenes són similars a C ++ general, a més, també podem operar iteradors en aquestes cadenes.
Les construccions de parelles i tuples són útils mentre es programen els contenidors STL, especialment els contenidors associatius.
Al nostre proper tutorial, coneixerem detalladament els algoritmes i els iteradors abans de saltar a la programació STL real mitjançant STL.
=> Visiteu aquí per veure la sèrie de formació C ++ per a tothom.
Lectura recomanada