logo

C++ Standard Template Library (STL)

Standard Template Library (STL) on joukko C++-malliluokkia, jotka tarjoavat yhteisiä ohjelmointitietorakenteita ja -toimintoja, kuten listoja, pinoja, taulukoita jne. Se on kirjasto, joka sisältää säilöluokkia, algoritmeja ja iteraattoreita. Se on yleistetty kirjasto, joten sen komponentit on parametroitu. Työtietoa malliluokat on STL:n kanssa työskentelyn edellytys.

C++ Standard Template Library (STL) on kokoelma algoritmeja, tietorakenteita ja muita komponentteja, joiden avulla voidaan yksinkertaistaa C++-ohjelmien kehitystä. STL tarjoaa useita säiliöitä, kuten vektoreita, luetteloita ja karttoja, sekä algoritmeja tietojen etsimiseen, lajitteluun ja käsittelyyn.



Yksi STL:n tärkeimmistä eduista on, että se tarjoaa tavan kirjoittaa yleistä, uudelleen käytettävää koodia, jota voidaan soveltaa eri tietotyyppeihin. Tämä tarkoittaa, että voit kirjoittaa algoritmin kerran ja käyttää sitä sitten erityyppisten tietojen kanssa ilman, että sinun tarvitsee kirjoittaa erillistä koodia kullekin tyypille.

STL tarjoaa myös tavan kirjoittaa tehokasta koodia. Monet STL:n algoritmeista ja tietorakenteista on toteutettu optimoituilla algoritmeilla, mikä voi johtaa nopeampiin suoritusaikoihin verrattuna mukautettuun koodiin.

rudyard kipling jos selitys

Jotkut STL:n tärkeimmistä osista ovat:

  1. Säilöt: STL tarjoaa useita säilöjä, kuten vektoreita, luetteloita, karttaa, sarjaa ja pinoa, joita voidaan käyttää tietojen tallentamiseen ja käsittelemiseen.
  2. Algoritmit: STL tarjoaa joukon algoritmeja, kuten lajittelu-, haku- ja binary_search-algoritmeja, joita voidaan käyttää säilöihin tallennettujen tietojen käsittelemiseen.
  3. Iteraattorit: Iteraattorit ovat objekteja, jotka tarjoavat tavan kulkea säiliön elementtien läpi. STL tarjoaa joukon iteraattoreita, kuten forward_iterator, bidirectional_iterator ja random_access_iterator, joita voidaan käyttää erityyppisten säilöjen kanssa.
  4. Funktioobjektit: Funktioobjektit, jotka tunnetaan myös funktionaaleina, ovat objekteja, joita voidaan käyttää algoritmien funktioargumentteina. Ne tarjoavat tavan siirtää funktio algoritmille, jolloin voit mukauttaa sen toimintaa.
  5. Sovittimet: Sovittimet ovat komponentteja, jotka muuttavat muiden STL:n komponenttien toimintaa. Esimerkiksi reverse_iterator-sovitinta voidaan käyttää vaihtamaan elementtien järjestystä säiliössä.

STL:n avulla voit yksinkertaistaa koodiasi, vähentää virheiden todennäköisyyttä ja parantaa ohjelmiesi suorituskykyä.



STL:ssä on 4 osaa:

    Algoritmit Säiliöt Toimijat Iteraattorit

1. Algoritmit

Otsikkoalgoritmi määrittelee joukon toimintoja, jotka on erityisesti suunniteltu käytettäväksi useissa elementeissä. Ne vaikuttavat säiliöihin ja tarjoavat välineet eri toimiin astioiden sisällölle.

  • Algoritmi
    • Lajittelu
    • Etsitään
    • Tärkeitä STL-algoritmeja
    • Hyödyllisiä Array-algoritmeja
    • Osiotoiminnot
  • Numeerinen
    • valarray luokka

2. Säiliöt

Säilöt tai konttiluokat tallentavat objekteja ja tietoja. Standardeja on yhteensä seitsemän ensimmäisen luokan konttiluokkaa ja kolme konttisovitinluokkaa ja vain seitsemän otsikkotiedostoa, jotka tarjoavat pääsyn näihin säilöihin tai konttisovittimiin.



  • Sekvenssisäiliöt: toteuttaa tietorakenteita, joita voidaan käyttää peräkkäin.
    • vektori
    • lista
    • mistä
    • taulukoita
    • forward_list (otettu käyttöön C++11:ssä)
  • Säiliösovittimet: tarjoavat erilaisen käyttöliittymän peräkkäisille säiliöille.
  • Assosiatiiviset säilöt: toteuttaa lajiteltuja tietorakenteita, joista voidaan nopeasti etsiä (O(log n) -monimutkaisuus).
  • Järjestämättömät assosiatiiviset säilöt: toteuttaa järjestämättömiä tietorakenteita, jotka voidaan etsiä nopeasti
    • unordered_set (otettu käyttöön C++11:ssä)
    • unordered_multiset (otettu käyttöön C++11:ssä)
    • unordered_map (Otettu käyttöön C++11:ssä)
    • unordered_multimap (otettu käyttöön C++11:ssä)

Vuokaavio mukautuvista säilöistä ja tilaamattomista säilöistä Vuokaavio Sequence-säiliöistä ja tilatuista konteista

3. Toimijat

STL sisältää luokkia, jotka ylikuormittavat funktiokutsuoperaattoria. Tällaisten luokkien ilmentymiä kutsutaan funktioobjekteiksi tai funktioiksi. Funktorit mahdollistavat siihen liittyvän funktion toiminnan mukauttamisen välitettävien parametrien avulla. Täytyy lukea – Toimijat

4. Iteraattorit

Kuten nimestä voi päätellä, iteraattoreita käytetään arvosarjan käsittelyyn. Ne ovat tärkein ominaisuus, joka mahdollistaa yleisyyden STL:ssä. Täytyy lukeaIteraattorit

Utility Library

Määritetty otsikossa. Täytyy lukeaPariliitos C++ STL:ssä

Katso lisätietoja osoitteesta Viimeisimmät artikkelit STL:stä!

C++ Standard Template Libraryn (STL) edut:

  1. Uudelleenkäytettävyys: Yksi STL:n tärkeimmistä eduista on, että se tarjoaa tavan kirjoittaa yleistä, uudelleen käytettävää koodia, jota voidaan soveltaa eri tietotyyppeihin. Tämä voi johtaa tehokkaampaan ja ylläpidettävämpään koodiin.
  2. Tehokkaat algoritmit: Monet STL:n algoritmeista ja tietorakenteista on toteutettu optimoituilla algoritmeilla, mikä voi johtaa nopeampiin suoritusaikoihin verrattuna mukautettuun koodiin.
  3. Parempi koodin luettavuus: STL tarjoaa johdonmukaisen ja hyvin dokumentoidun tavan työskennellä tietojen kanssa, mikä voi helpottaa koodin ymmärtämistä ja ylläpitoa.
  4. Suuri käyttäjäyhteisö: STL on laajalti käytetty, mikä tarkoittaa, että on olemassa suuri yhteisö kehittäjiä, jotka voivat tarjota tukea ja resursseja, kuten opetusohjelmia ja foorumeita.

C++ Standard Template Libraryn (STL) haitat:

  1. Oppimiskäyrä: STL:n oppiminen voi olla vaikeaa varsinkin aloittelijoille sen monimutkaisen syntaksin ja edistyneiden ominaisuuksien, kuten iteraattorien ja funktioobjektien, käytön vuoksi.
  2. Hallinnan puute: Kun käytät STL:ää, joudut luottamaan kirjaston tarjoamaan toteutukseen, mikä voi rajoittaa koodisi tiettyjen osien hallintaasi.
  3. Suorituskyky: Joissakin tapauksissa STL:n käyttö voi johtaa hitaampiin suoritusaikoihin verrattuna mukautettuun koodiin, varsinkin kun käsitellään pieniä tietomääriä.