Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako sa učiť STL kontajnery

V kontajnerové triedy STL , aby programovanie produktívne , bezpečný a robustný . Sú to inteligentné pole , ktoré automaticky vykonávajú prideľovanie pamäte , je možné meniť veľkosť , vám odovzdať premenné odkazom , vložiť prvky na akomkoľvek mieste , všetko s horiace efektivitu . Poskytujú dobrý dôvod prejsť z C so svojimi hlúpymi polí do C + + . STL ponúka dva druhy kontajnerových tried : jednoduché a asociatívne , kde je kľúč spojené s každého uloženého objektu . Veci , ktoré budete potrebovať
Základná znalosť programovania v C + +
A + + kompilátor C a najlepšie integrovaným vývojovým prostredím
Zobraziť ďalšie inštrukcie Cestuj 1

Prečítajte si a prípadne uložiť do pamäte dve kategórie kontajnerových tried . Ich zapamätanie nikdy nikomu neublížil a bude prínosom pre vás v dlhodobom horizonte
Jednoduché kontajnery : . Vektor < > , zoznamy < > , stoh < > front < > deque < >
Asociatívne kontajnery : mapa < > nastavte < > , Multimap < > , multiset < >
2

o všetkých kontajnerových tried tým , že ukázal , ako môže byť jednoduché kontajner . Tento výukový program bude ilustrovať metódy vektora < > .
3

Priradenie veľkosti do vektora . Môžete priradiť vektor veľkosť pomocou niektorého z preťažených konštruktor . Okrem toho môžete použiť rezervu ( ) alebo priradiť metódu ( ) potom, čo ste vyhlásil , vektor . Všetky metódy sú uvedené nižšie :
vektor arr ( 50 ) , //zadať kapacitu klipart vektor arr ( 50 , 17 ) ; //určiť kapacitu a dať všetky prvky predvolenú hodnotu ( 17 )
vektor Arr2 ( arr ) ; //inicializácia vektora z iného vektora
vektor vec ;
vec.reserve ( 100 ) , //alebo použitie rezervy ( ) prideliť pamäť
4

iterácii cez vektora . Môžete to urobiť pomocou štandardnej index operátor [ ] alebo pomocou iterátory , ktoré sú špeciálne funkcie STL . Ich schopnosti sú mimo rozsah tohto návodu . Nasledujúce fragmenty kódu ukazujú veľkosť ( ) , begin ( ) a end ( ) členovia : HONDA //pomocou štandardného indexovanie
for ( int i = 0 ; i cout }
//pomocou iterátory
pre ( vector < > :: iterátor iter = vec.begin ( ) ; ! iter = vec.end ( ) ; iter + + ) { cout
}
5

Pridať prvok na koniec , . odstrániť tento prvok , vložte prvok v strede a vrátiť veľkosť kontajnera môžete vykonávať všetky tieto funkcie pomocou push_back ( ) , pop_back ( ) , insert ( ) a veľkosť ) metódy ( respektíve, ako je uvedené nižšie :
vec.push_back ( 35 ) ;
vec.pop_back ( ) ;
vec.insert ( pos, 19 ) ; //pos je umiestnenie
cout Praha 6

Vymazať prvky v rámci rozsah , vymazať zvyšok prvkov a uistite sa , že vektor je prázdny . Za týchto, môžete použiť členské funkcie erase ( ) , clear ( ) a empty ( ) .
vec.erase ( vec.begin ( ) + 5 , vec.end ( ) - 5 ) , //vymaže všetky prvky s výnimkou prvej a poslednej 5.
vec.clear ( ) ; //vymazať všetky prvky
ak ( true == vec.empty ( ) . ) { ... } //kontrola , či je vektor prázdny
7

Pozrite sa na všetky členské funkcie ponúkané vo vektore < > Mnohé z nich sú bežné v celom zvyšku kontajnerových tried :
_Destroy ( ) , _Eq ( ) , _Lt ( ) , _Ucopy ( ) , _Ufill ( ) , priradenie ( ) , v ( ) , begin ( ) , zadné ( ) , kapacita ( ) , clear ( ) , empty ( ) , end ( ) , vymazať ( ) , predný ( ) , get_allocator ( ) , max_size ( ) , insert ( ) , operátor = , operátor [ ] , pop_back ( ) , push_back ( ) , rbegin ( ) , rend ( ) , rezerva ( ) , veľkosť ( ) , veľkosť ( ) , pre swap ( ) , ~ vektor ( ) .
8

Uistite sa , že ste zahrnúť súbor vector.h hlavičke v hornej časti zdrojového súboru , ako vyskúšať tento kód pre seba . každá nádoba trieda má svoj ​​vlastný hlavičkový súbor . Zoznam < > bude vyžadovať list.h , fronta < > bude vyžadovať queue.h , a tak ďalej .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené