strings pair tuples stl
Rýchlo sa naučte základné pojmy strún, párov a n-tíc v STL.
V tomto výučbe získame základné vedomosti o reťazcoch, pároch a n-tice v STL, skôr ako skutočne prejdeme k podrobným a väčším konceptom, ako sú iterátory, algoritmy a kontajnery.
Aj keď sa reťazce používajú rovnakým spôsobom ako vo všeobecnom jazyku C ++, je vhodné diskutovať o nich z pohľadu STL. Sláčiky si môžeme predstaviť ako postupný kontajner znakov. Rovnako ako sa zaoberáme triedami šablón v STL, je úplne nevyhnutné, aby sme poznali koncept PAIR a TUPLE vo vzťahu k STL.
=> Tu si pozrite podrobné výukové návody C ++.
Čo sa dozviete:
Struny v STL
Reťazce v STL podporujú formát ASCII aj formát Unicode (širokouhlý znak).
STL podporuje dva typy strún:
# 1) reťazec: Toto je reťazec formátu ASCII a na zahrnutie tohto typu reťazcových objektov do programu musíme do nášho programu zahrnúť súbor string.h.
#include
# 2) reťazec: Toto je reťazec so širokými znakmi. V programovaní MFC to nazývame CString. Aby sme do nášho programu zahrnuli objekty wstring, zahrnieme súbor xstring.
#include
Či už ASCII alebo Unicode, reťazce v STL podporujú rôzne metódy rovnako, ako to robia ostatné kontajnery STL.
Niektoré z metód podporovaných objektom string sú:
- začať() : Vrátiť iterátor na začiatok.
- koniec() : Na konci vráťte iterátor.
- vložiť () : Vložte do reťazca.
- vymazať() : Vymazať znaky z reťazca.
- veľkosť () : Vráti dĺžku reťazca.
- prázdne () : Vyprázdnite obsah reťazca.
Okrem týchto metód uvedených vyššie sme už v našich predchádzajúcich reťazcoch v C ++ tutoriáloch pokryli metódy triedy reťazcov.
Poďme si napísať jednoduchý program na demonštráciu reťazcov STL.
ako vytvoriť všeobecné pole v jave
#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:'< Výkon:
SVET
Dĺžka šnúrky: 5
Vo vyššie uvedenom kóde, ako sme videli, deklarujeme reťazcový objekt str1 a potom pomocou metódy insert pridávame znaky po jednom na koniec reťazca. Potom pomocou iteračného objektu zobrazíme reťazec.
Ďalej pomocou metódy veľkosti vygenerujeme dĺžku reťazca. Toto je jednoduchý program na demonštráciu iba reťazcov.
PÁR V STL
Trieda PAIR v STL nám príde vhod pri programovaní asociatívnych kontajnerov. PAIR je trieda šablón, ktorá zoskupuje dve hodnoty rovnakých alebo rôznych dátových typov.
Všeobecná syntax je:
pair pair1, pair2;
Vyššie uvedený riadok kódu vytvára dva páry, tj. Pair1 a pair2. Oba tieto páry majú prvý objekt typu T1 a druhý objekt typu T2.
najlepšia aplikácia na stiahnutie mp3 pre Android
T1 je prvý člen a T2 je druhý člen z pair1 a pair2.
Nasledujúce metódy sú podporované triedou PAIR:
- Prevádzkovateľ (=): Priraďte hodnoty dvojici.
- výmena: Zamení obsah páru.
- make_pair (): Vytvorte a vráťte pár majúci objekty definované v zozname parametrov.
- Operátori (==,! =,>,<, = ) : Lexikograficky porovnáva dva páry.
Poďme si napísať základný program, ktorý ukazuje použitie týchto funkcií v kóde.
#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: '< Výkon:
Pair1 Prvý člen: 1
Pair2 Druhý člen: SoftwareTestingHelp
Páry nie sú rovnaké
Vo vyššie uvedenom programe vytvoríme dva páry typu integer a ďalšie páry typu integer a string. Ďalej pomocou funkcie „make_pair“ priradíme každému páru hodnoty.
Ďalej porovnáme pair1 a pair2 pomocou operátora „==“ a skontrolujeme, či sú rovnaké alebo nie. Tento program demonštruje základné fungovanie triedy PAIR.
Tuple v STL
Koncept Tuple je rozšírením Pair. V páre môžeme kombinovať dva heterogénne objekty, zatiaľ čo v n-tici môžeme kombinovať tri heterogénne objekty.
Všeobecná syntax n-tice je:
tupletuple1;
Rovnako ako pair, aj n-tica podporuje podobné funkcie a niektoré ďalšie funkcie.
Sú uvedené nižšie:
- Staviteľ: Postaviť novú n-ticu.
- Tuple_element: Vráti typ prvku n-tice.
- make_tuple (): Vytvorí a vráti n-ticu, ktorá má prvky opísané v zozname parametrov.
- Operátori (==,! =,>,<, = ): Lexikograficky porovnáva dva páry.
- Prevádzkovateľ (=): Priradenie hodnoty n-tici.
- výmena: Zameniť hodnotu dvoch n-tíc.
- Kravata: Priraďte hodnoty n-tice k jej referenciám.
Pozrime sa na niektoré z týchto funkcií v programe, aby sme zistili, ako fungujú.
#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; }
Výkon:
1 Hello C ++ Tuples
Vo vyššie uvedenom kóde, aby sme demonštrovali n-tice, vytvoríme dve n-tice. Prvá n-tica n-tica1 sa skladá z troch celočíselných hodnôt. Druhá n-tica, tj. N-tica2, sa skladá z jednej celočíselnej hodnoty a dvoch reťazcových hodnôt.
Ďalej obidvom n-ticiam priradíme hodnoty pomocou funkcie „make_tuple“. Potom pomocou volania funkcie „tie“ zviažeme alebo priradíme hodnoty z tuple2 na id a dva reťazce.
Nakoniec tieto hodnoty vydáme. Výstup zobrazuje hodnoty z tuple2, ktoré sme priradili id a dvom reťazcom.
Záver
V tomto výučbe sme teda stručne diskutovali o reťazcoch, dvojiciach a n-tici použitých v STL. Zatiaľ čo operácie s reťazcami sú podobné všeobecným C ++, navyše na týchto reťazcoch môžeme prevádzkovať aj iterátory.
Konštrukcie dvojíc a n-tíc prídu vhod pri programovaní kontajnerov STL, najmä asociatívnych kontajnerov.
V našom pripravovanom výučbe sa podrobne dozvieme o algoritmoch a iterátoroch predtým, ako prejdeme na samotné programovanie STL pomocou STL.
=> Navštívte tu a pozrite si sériu školení pre C ++ pre všetkých.
Odporúčané čítanie