strings pair tuples stl
Hitro se naučite osnovnih konceptov godal, parov in sklopov v STL.
V tej vadnici bomo pridobili osnovno znanje o strunah, parih in tulih v STL, preden bomo dejansko prešli na podrobne in večje koncepte, kot so iteratorji, algoritmi in vsebniki.
Čeprav se nizi uporabljajo na enak način kot v splošnem jeziku C ++, je vredno razpravljati s stališča STL. Strune si lahko predstavljamo kot zaporedni vsebnik znakov. Ker se v STL ukvarjamo z razredi predlog, je nujno, da poznamo koncept PAIR in TUPLE glede STL.
=> Tukaj si oglejte Vadnice za globoko učenje C ++.
Kaj se boste naučili:
Strune v STL
Strune v STL podpirajo tako ASCII kot tudi format Unicode (širokoznakovni).
STL podpira dve vrsti nizov:
# 1) niz: To je niz oblike ASCII in za vključitev te vrste nizovnih predmetov v program moramo v naš program vključiti datoteko string.h.
#include # 2) wstring: To je niz s širokimi znaki. Pri programiranju MFC temu rečemo CString. Za vključitev objektov wstring v naš program vključimo datoteko xstring.
#include Ne glede na to, ali ASCII ali Unicode, nizi v STL podpirajo različne metode ravno tako, kot to počnejo drugi vsebniki STL.
Nekatere metode, ki jih podpira nizni objekt, so:
- začeti() : Vrni iterator na začetku.
- konec () : Na koncu vrni iterator.
- vstavi() : Vstavi v niz.
- izbriši () : Izbriši znake iz niza.
- velikost () : Vrne dolžino niza.
- prazno() : Izpraznite vsebino niza.
Razen zgoraj navedenih metod smo v prejšnjih nizih v vajah za C ++ že pokrili metode razredov nizov.
Napišimo preprost program za prikaz nizov STL.
spletno mesto za pretvorbo videoposnetkov YouTube v mp3
#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:'< Izhod:
SVET
Dolžina strune: 5
Kot smo videli, v zgornji kodi razglasimo nizni objekt str1 in nato z uporabo metode vstavimo znake enega za drugim na koncu niza. Nato z uporabo iteratorskega predmeta prikažemo niz.
Nato z metodo velikosti izpišemo dolžino niza. To je preprost program za prikaz samo nizov.
PAR V STL
Razred PAIR v STL je priročen med programiranjem asociativnih vsebnikov. PAIR je razred predloge, ki združuje dve vrednosti enakih ali različnih podatkovnih tipov.
Splošna sintaksa je:
pair pair1, pair2; Zgornja vrstica kode ustvari dva para, to je par1 in par2. Oba para imata prvi objekt tipa T1 in drugi objekt tipa T2.
T1 je prvi član in T2 je drugi član parov1 in parov2.
Sledijo metode, ki jih podpira razred PAIR:
- Operater (=): Dodeli vrednosti paru.
- zamenjava: Zamenja vsebino para.
- make_pair (): Ustvari in vrne par, ki ima predmete, ki jih definira seznam parametrov.
- Operaterji (==,! =,>,<, = ) : Leksikografsko primerja dva para.
Napišimo osnovni program, ki prikazuje uporabo teh funkcij v kodi.
#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: '< Izhod:
Par1 Prvi član: 1
Pair2 Drugi član: SoftwareTestingHelp
Pari niso enaki
V zgornjem programu ustvarimo po dva para celih števil in še en par celih števil in nizov. Nato s funkcijo 'make_pair' vsakemu paru dodelimo vrednosti.
Nato primerjamo par1 in par2 z operatorjem “==”, da preverimo, ali sta enaka ali ne. Ta program prikazuje osnovno delovanje razreda PAIR.
Tuple v STL
Koncept Tuple je razširitev Pair. V paru lahko kombiniramo dva heterogena predmeta, medtem ko v tupleh lahko kombiniramo tri heterogene predmete.
Splošna sintaksa nabora je:
tupletuple1; Tako kot par tudi tuple podpira podobne funkcije in nekatere dodatne funkcije.
Ti so navedeni spodaj:
- Graditelj: Za izdelavo novega korita.
- Tuple_element: Vrne vrsto elementa tuple.
- make_tuple (): Ustvari in vrne nabor z elementi, ki jih opisuje seznam parametrov.
- Operaterji (==,! =,>,<, = ): Leksikografsko primerja dva para.
- Operater (=): Za dodelitev vrednosti naboru.
- zamenjava: Če želite zamenjati vrednost dveh tuplev.
- Kravata: Vrednosti vezice vezati na njene reference.
Uporabimo nekatere od teh funkcij v programu, da vidimo, kako delujejo.
#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; } Izhod:
1 Pozdravljeni C ++ Tuples
V zgornji kodi za predstavitev nabora ustvarimo dva nabora. Prvi tuple1 je sestavljen iz treh celoštevilnih vrednosti. Drugi tuple, tj. Tuple2 je sestavljen iz ene celoštevilne vrednosti in dveh nizovnih vrednosti.
Nato obema skupinama dodelimo vrednosti s funkcijo 'make_tuple'. Nato s pomočjo klica funkcije »tie« vežemo ali dodelimo vrednosti iz tuple2 v id in dva niza.
Na koncu izpišemo te vrednosti. Izhod prikazuje vrednosti iz tuple2, ki smo jih dodelili id in dvema nizoma.
Zaključek
Tako smo v tej vadnici na kratko razpravljali o nizih, parih in kanalih, ki se uporabljajo v STL. Medtem ko so operacije nizov podobne splošnemu C ++, lahko poleg tega na teh nizih upravljamo tudi iteratorje.
Konstrukcije parov in tuple so priročne med programiranjem vsebnikov STL, zlasti asociativnih vsebnikov.
kako uporabiti torrent datoteko
V naši prihajajoči vadnici bomo podrobno spoznali algoritme in iteratorje, preden preidemo na dejansko programiranje STL z uporabo STL.
=> Obiščite tukaj, da si ogledate serijo C ++ Training za vse.
Priporočeno branje