strings pair tuples stl
Brzo naučite osnovne koncepte gudača, parova i sabora u STL-u.
U ovom uputstvu steći ćemo osnovno znanje o žicama, parovima i tuplevima u STL-u, prije nego što zapravo prijeđemo na detaljne i veće koncepte poput iteratora, algoritma i spremnika.
Iako se stringovi koriste na isti način kao i u općenitom jeziku C ++, o njima je vrijedno raspravljati sa stajališta STL-a. Strune možemo smatrati sekvencijalnim spremnikom znakova. Također, kako se bavimo razredima predložaka u STL-u, nužno je da znamo koncept PAIR i TUPLE s obzirom na STL.
=> Ovdje pogledajte temeljne vodiče za obuku za C ++.
Što ćete naučiti:
Žice u STL-u
Žice u STL-u podržavaju ASCII kao i Unicode (široko-znakovni) format.
STL podržava dvije vrste žica:
# 1) niz: Ovo je niz formata ASCII i da bismo uključili ovu vrstu objekata u programu, moramo u svoj program uključiti datoteku string.h.
#include
# 2) wstring: Ovo je niz sa širokim znakovima. U MFC programiranju nazivamo ga CString. Da bismo u naš program uključili wstring objekte, uključujemo datoteku xstring.
#include
Bez obzira na to jesu li ASCII ili Unicode, nizovi u STL-u podržavaju različite metode upravo na način na koji to rade ostali STL spremnici.
Neke od metoda koje podržava objekt string su:
- početi() : Vrati iterator na početku.
- kraj() : Vrati iterator na kraju.
- umetnuti() : Umetni u niz.
- izbrisati () : Brisanje znakova iz niza.
- veličina() : Vraća duljinu niza.
- prazan() : Ispraznite sadržaj niza.
Osim ovih gore navedenih metoda, već smo obrađivali metode klase nizova u našim ranijim nizovima u C ++ tutorialima.
Napišimo jednostavan program za demonstraciju STL nizova.
dvostruko povezana lista c ++ implementacija
#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:'< Izlaz:
SVIJET
Duljina žice: 5
U gore navedenom kodu, kao što smo vidjeli, deklariramo objekt niza str1, a zatim metodom umetanja dodajemo znakove jedan po jedan na kraj niza. Zatim pomoću iteratorskog objekta prikazujemo niz.
Dalje, izlažemo duljinu niza metodom veličine. Ovo je jednostavan program koji demonstrira samo žice.
PAR U STL-u
Klasa PAIR u STL-u dobro dolazi tijekom programiranja asocijativnih spremnika. PAIR je klasa predloška koja grupira dvije vrijednosti iste ili različite vrste podataka.
Općenita sintaksa je:
pair pair1, pair2;
Gornji redak koda stvara dva para, tj. Pair1 i pair2. Oba ova para imaju prvi objekt tipa T1 i drugi objekt tipa T2.
T1 je prvi član, a T2 drugi član para1 i para2.
Slijede metode koje podržava klasa PAIR:
- Operater (=): Dodijelite vrijednosti paru.
- zamijeni: Zamijeni sadržaj para.
- make_pair (): Stvorite i vratite par koji ima objekte definirane popisom parametara.
- Operatori (==,! =,>,<, = ) : Leksikografski uspoređuje dva para.
Napišimo osnovni program koji prikazuje upotrebu ovih funkcija u kodu.
#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: '< Izlaz:
Par1 Prvi član: 1
Pair2 Drugi član: SoftwareTestingHelp
Parovi nisu jednaki
U gornjem programu kreiramo po dva para cijelog broja tipa i još jedan par cijelih brojeva i nizova. Dalje pomoću funkcije “make_pair” dodijelimo vrijednosti svakom paru.
Dalje, uspoređujemo pair1 i pair2 pomoću operatora “==” kako bismo provjerili jesu li jednaki ili ne. Ovaj program pokazuje osnovni rad klase PAIR.
kako otvoriti jar datoteke windows 10
Korpa u STL-u
Koncept Tuple produžetak je Paira. U paru možemo kombinirati dva heterogena objekta, dok u skupkama možemo kombinirati tri heterogena objekta.
Općenita sintaksa korijena je:
tupletuple1;
Baš kao i par, i tuple podržava slične funkcije i neke dodatne funkcije.
Oni su navedeni u nastavku:
- Graditelj: Da konstruiramo novi korijen.
- Element korice: Vraća vrstu elementa tuple.
- make_tuple (): Stvara i vraća set koji sadrži elemente opisane popisom parametara.
- Operatori (==,! =,>,<, = ): Leksikografski uspoređuje dva para.
- Operater (=): Za dodjeljivanje vrijednosti tupleu.
- zamijeni: Zamijeniti vrijednost dvije korice.
- Kravata: Vezati vrijednosti korice s njezinim referencama.
Upotrijebimo neke od ovih funkcija u programu da bismo vidjeli kako rade.
#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; }
Izlaz:
1 Pozdrav C ++ korijena
U gornjem kodu za demonstraciju korijena kreiramo dvije korice. Prva korpica tuple1 sastoji se od tri cjelobrojne vrijednosti. Drugi korijen, tj. Tuple2 sastoji se od jedne cijele vrijednosti i dvije vrijednosti niza.
Dalje, dodamo vrijednosti obojici korpica pomoću funkcije 'make_tuple'. Zatim pomoću poziva funkcije “tie” vezujemo ili dodjeljujemo vrijednosti iz tuple2 u id i dva niza.
Na kraju, izbacujemo ove vrijednosti. Izlaz prikazuje vrijednosti iz tuple2 koje smo dodijelili id i dva niza.
Zaključak
Stoga smo u ovom vodiču ukratko raspravljali o žicama, paru i tupu koji se koriste u STL-u. Iako su operacije s nizovima slične općenitom C ++-u, osim toga, na tim žicama možemo raditi i iteratore.
Konstrukcije parova i korijena dobro dođu tijekom programiranja STL spremnika, posebno asocijativnih spremnika.
U našem nadolazećem uputstvu detaljno ćemo naučiti o algoritmima i iteratorima prije nego što prijeđemo na stvarno programiranje STL-a pomoću STL-a.
=> Posjetite ovdje da biste vidjeli C ++ seriju treninga za sve.
Preporučena literatura