logo

Standardna knjižnica predlog C++ (STL)

Knjižnica standardnih predlog (STL) je nabor razredov predlog C++ za zagotavljanje običajnih programskih podatkovnih struktur in funkcij, kot so seznami, skladi, nizi itd. Je knjižnica vsebniških razredov, algoritmov in iteratorjev. Je posplošena knjižnica, zato so njene komponente parametrirane. Delovno znanje o predloge razredov je predpogoj za delo s STL.

Standardna knjižnica predlog C++ (STL) je zbirka algoritmov, podatkovnih struktur in drugih komponent, ki jih je mogoče uporabiti za poenostavitev razvoja programov C++. STL ponuja vrsto vsebnikov, kot so vektorji, seznami in zemljevidi, kot tudi algoritme za iskanje, razvrščanje in obdelavo podatkov.



Ena od ključnih prednosti STL je, da omogoča pisanje splošne kode za večkratno uporabo, ki jo je mogoče uporabiti za različne vrste podatkov. To pomeni, da lahko algoritem napišete enkrat in ga nato uporabite z različnimi vrstami podatkov, ne da bi morali pisati ločeno kodo za vsako vrsto.

STL ponuja tudi način za pisanje učinkovite kode. Številni algoritmi in podatkovne strukture v STL so implementirani z optimiziranimi algoritmi, kar lahko povzroči hitrejše čase izvajanja v primerjavi s kodo po meri.

kaj je androidovo velikonočno jajce

Nekatere ključne komponente STL vključujejo:

  1. Vsebniki: STL ponuja vrsto vsebnikov, kot so vektor, seznam, zemljevid, niz in sklad, ki jih je mogoče uporabiti za shranjevanje in obdelavo podatkov.
  2. Algoritmi: STL ponuja vrsto algoritmov, kot so razvrščanje, iskanje in binarno_iskanje, ki se lahko uporabljajo za manipulacijo podatkov, shranjenih v vsebnikih.
  3. Iteratorji: Iteratorji so objekti, ki omogočajo prečkanje elementov vsebnika. STL ponuja vrsto iteratorjev, kot so forward_iterator, bidirectional_iterator in random_access_iterator, ki jih je mogoče uporabiti z različnimi vrstami vsebnikov.
  4. Funkcijski objekti: Funkcijski objekti, znani tudi kot funktorji, so objekti, ki se lahko uporabljajo kot funkcijski argumenti algoritmov. Zagotavljajo način za posredovanje funkcije algoritmu, kar vam omogoča, da prilagodite njegovo vedenje.
  5. Adapterji: Adapterji so komponente, ki spreminjajo vedenje drugih komponent v STL. Na primer, vmesnik reverse_iterator lahko uporabite za obračanje vrstnega reda elementov v vsebniku.

Z uporabo STL lahko poenostavite kodo, zmanjšate verjetnost napak in izboljšate delovanje svojih programov.



STL ima 4 komponente:

    Algoritmi Vsebniki Funktorji Iteratorji

1. Algoritmi

Algoritem glave definira zbirko funkcij, posebej zasnovanih za uporabo na vrsti elementov. Delujejo na zabojnike in zagotavljajo sredstva za različne operacije z vsebino zabojnikov.

  • Algoritem
    • Razvrščanje
    • Iskanje
    • Pomembni algoritmi STL
    • Uporabni matrični algoritmi
    • Particijske operacije
  • Numerično
    • razred valarray

2. Posode

Vsebniki ali razredi vsebnikov shranjujejo predmete in podatke. Obstaja skupno sedem standardnih prvorazrednih vsebniških razredov in trije vsebniški adapterski razredi ter samo sedem datotek glave, ki omogočajo dostop do teh vsebnikov ali vsebniških adapterjev.



  • Zaporedni vsebniki: izvajajo podatkovne strukture, do katerih je mogoče dostopati na zaporedni način.
  • Kontejnerski adapterji: zagotavljajo drugačen vmesnik za zaporedne vsebnike.
  • Asociativni vsebniki: izvajajo razvrščene podatkovne strukture, ki jih je mogoče hitro preiskati (zapletenost O(log n)).
  • Neurejeni asociativni vsebniki: implementirajte neurejene podatkovne strukture, ki jih je mogoče hitro preiskati
    • unordered_set (uvedeno v C++11)
    • unordered_multiset (predstavljeno v C++11)
    • neurejen_zemljevid (Predstavljeno v C++11)
    • unordered_multimap (predstavljeno v C++11)

Diagram poteka prilagodljivih vsebnikov in neurejenih vsebnikov Diagram poteka zaporednih vsebnikov in urejenih vsebnikov

3. Funktorji

STL vključuje razrede, ki preobremenijo operaterja klica funkcij. Primerke takih razredov imenujemo funkcijski objekti ali funktorji. Funktorji omogočajo prilagajanje delovanja povezane funkcije s pomočjo parametrov, ki jih je treba posredovati. Morati prebrati – Funktorji

4. Iteratorji

Kot že ime pove, se iteratorji uporabljajo za delo na zaporedju vrednosti. So glavna značilnost, ki omogoča splošnost v STL. Morati prebratiIteratorji

Knjižnica pripomočkov

Določeno v glavi. Morati prebratiPar v C++ STL

Za več podrobnosti glejte Nedavni članki o STL!

Prednosti standardne knjižnice predlog C++ (STL):

  1. Ponovna uporabnost: Ena od ključnih prednosti STL je, da omogoča pisanje generične kode za večkratno uporabo, ki jo je mogoče uporabiti za različne vrste podatkov. To lahko vodi do učinkovitejše kode, ki jo je mogoče vzdrževati.
  2. Učinkoviti algoritmi: veliko algoritmov in podatkovnih struktur v STL je implementiranih z optimiziranimi algoritmi, kar lahko povzroči hitrejše čase izvajanja v primerjavi s kodo po meri.
  3. Izboljšana berljivost kode: STL zagotavlja dosleden in dobro dokumentiran način dela s podatki, kar lahko olajša razumevanje in vzdrževanje vaše kode.
  4. Velika skupnost uporabnikov: STL se pogosto uporablja, kar pomeni, da obstaja velika skupnost razvijalcev, ki lahko zagotovijo podporo in vire, kot so vadnice in forumi.

Slabosti standardne knjižnice predlog C++ (STL):

  1. Krivulja učenja: STL se je lahko težko naučiti, zlasti za začetnike, zaradi njegove kompleksne sintakse in uporabe naprednih funkcij, kot so iteratorji in funkcijski objekti.
  2. Pomanjkanje nadzora: pri uporabi STL se morate zanesti na implementacijo, ki jo ponuja knjižnica, kar lahko omeji vaš nadzor nad določenimi vidiki vaše kode.
  3. Zmogljivost: V nekaterih primerih lahko uporaba STL povzroči počasnejše čase izvajanja v primerjavi s kodo po meri, zlasti pri delu z majhnimi količinami podatkov.