Standard Template Library (STL) er et sett med C++ malklasser for å gi vanlige programmeringsdatastrukturer og -funksjoner som lister, stabler, arrays osv. Det er et bibliotek med containerklasser, algoritmer og iteratorer. Det er et generalisert bibliotek, og derfor er komponentene parametrisert. Arbeidskunnskap om malklasser er en forutsetning for å jobbe med STL.
C++ Standard Template Library (STL) er en samling av algoritmer, datastrukturer og andre komponenter som kan brukes til å forenkle utviklingen av C++-programmer. STL gir en rekke beholdere, som vektorer, lister og kart, samt algoritmer for søk, sortering og manipulering av data.
En av de viktigste fordelene med STL er at den gir en måte å skrive generisk, gjenbrukbar kode som kan brukes på forskjellige datatyper. Dette betyr at du kan skrive en algoritme én gang, og deretter bruke den med ulike typer data uten å måtte skrive separat kode for hver type.
STL gir også en måte å skrive effektiv kode på. Mange av algoritmene og datastrukturene i STL er implementert ved hjelp av optimaliserte algoritmer, noe som kan resultere i raskere utførelsestider sammenlignet med tilpasset kode.
tall i alfabetet
Noen av nøkkelkomponentene i STL inkluderer:
- Beholdere: STL gir en rekke beholdere, som vektor, liste, kart, sett og stabel, som kan brukes til å lagre og manipulere data.
- Algoritmer: STL gir en rekke algoritmer, for eksempel sortering, finn og binært_søk, som kan brukes til å manipulere data lagret i containere.
- Iteratorer: Iteratorer er objekter som gir en måte å krysse elementene i en beholder. STL gir en rekke iteratorer, for eksempel forward_iterator, toveis_iterator og random_access_iterator, som kan brukes med forskjellige typer beholdere.
- Funksjonsobjekter: Funksjonsobjekter, også kjent som funksjoner, er objekter som kan brukes som funksjonsargumenter til algoritmer. De gir en måte å overføre en funksjon til en algoritme, slik at du kan tilpasse oppførselen.
- Adaptere: Adaptere er komponenter som endrer oppførselen til andre komponenter i STL. For eksempel kan reverse_iterator-adapteren brukes til å reversere rekkefølgen på elementene i en beholder.
Ved å bruke STL kan du forenkle koden din, redusere sannsynligheten for feil og forbedre ytelsen til programmene dine.
STL har 4 komponenter:
- Algoritmer Beholdere Funksjoner Iteratorer
1. Algoritmer
Overskriftsalgoritmen definerer en samling funksjoner spesielt designet for å brukes på en rekke elementer. De virker på containere og gir midler for ulike operasjoner for innholdet i containerne.
- Algoritme
- Sortering
- Søker
- Viktige STL-algoritmer
- Nyttige Array-algoritmer
- Partisjonsoperasjoner
- Numerisk
- valarray klasse
2. Containere
Beholdere eller beholderklasser lagrer objekter og data. Det er totalt syv standarder førsteklasses containerklasser og tre containeradapterklasser og bare syv headerfiler som gir tilgang til disse containerne eller containeradapterne.
- Sekvensbeholdere: implementer datastrukturer som kan nås på en sekvensiell måte.
- Beholderadaptere: gir et annet grensesnitt for sekvensielle beholdere.
- Assosiative beholdere: implementer sorterte datastrukturer som raskt kan søkes (O(log n) kompleksitet).
- Uordnede assosiative beholdere: implementer uordnede datastrukturer som raskt kan søkes i
- unordered_set (introdusert i C++11)
- unordered_multiset (introdusert i C++11)
- uordnet_kart (Introdusert i C++11)
- unordered_multimap (introdusert i C++11)
3. Funksjoner
STL inkluderer klasser som overbelaster funksjonsanropsoperatøren. Forekomster av slike klasser kalles funksjonsobjekter eller funksjoner. Funksjoner gjør at funksjonen til den tilknyttede funksjonen kan tilpasses ved hjelp av parametere som skal sendes. Må lese – Funksjoner
4. Iteratorer
Som navnet antyder, brukes iteratorer for å jobbe med en sekvens av verdier. De er hovedfunksjonen som tillater generalitet i STL. Må lese – Iteratorer
Verktøybibliotek
Definert i overskriften. Må lese – Par i C++ STL
For flere detaljer, se Nylige artikler om STL!
Fordeler med C++ Standard Template Library (STL):
- Gjenbrukbarhet: En av de viktigste fordelene med STL er at den gir en måte å skrive generisk, gjenbrukbar kode som kan brukes på forskjellige datatyper. Dette kan føre til mer effektiv og vedlikeholdbar kode.
- Effektive algoritmer: Mange av algoritmene og datastrukturene i STL er implementert ved hjelp av optimaliserte algoritmer, noe som kan resultere i raskere utførelsestider sammenlignet med tilpasset kode.
- Forbedret kodelesbarhet: STL gir en konsistent og godt dokumentert måte å jobbe med data på, som kan gjøre koden din enklere å forstå og vedlikeholde.
- Stort fellesskap av brukere: STL er mye brukt, noe som betyr at det er et stort fellesskap av utviklere som kan gi støtte og ressurser, som opplæringsprogrammer og fora.
Ulemper med C++ Standard Template Library (STL):
- Læringskurve: STL kan være vanskelig å lære, spesielt for nybegynnere, på grunn av dens komplekse syntaks og bruk av avanserte funksjoner som iteratorer og funksjonsobjekter.
- Mangel på kontroll: Når du bruker STL, må du stole på implementeringen som tilbys av biblioteket, som kan begrense kontrollen din over visse aspekter av koden din.
- Ytelse: I noen tilfeller kan bruk av STL resultere i langsommere utførelsestider sammenlignet med tilpasset kode, spesielt når du arbeider med små mengder data.