standard template library
En komplet oversigt over standard skabelonbibliotek (STL):
Standard skabelonbibliotek (STL) af C ++ er en samling af skabelonklasser, der leverer datastrukturer såsom arrays, vektorer, kø osv. STL er et bibliotek, der består af containere, algoritmer og iteratorer.
Da STL består af en samling skabelonklasser, er det et generaliseret bibliotek, der er uafhængigt af datatyper.
=> Læs gennem den omfattende C ++ træningsvejledningsserie her.
Hvad du vil lære:
c og c ++ forskel
Komponenter af STL
STL består hovedsageligt af følgende komponenter, der er nævnt nedenfor:
# 1) Beholdere
En container er en samling af objekter af en bestemt type datastruktur. I STL har vi forskellige typer containerklasser som Array, vektor, kø, deque, liste, kort, sæt osv. Disse containere er generiske og implementeres som klasseskabeloner.
Beholdere er dynamiske og kan bruges til at rumme forskellige typer objekter.
# 2) Algoritmer
Algoritmer er de metoder eller funktioner, der virker på containere. Ved at bruge algoritmer leveret af STL kan vi have metoder til at søge, sortere, ændre, transformere eller initialisere indholdet af objekter i beholderklassen.
Algoritmer leveret af STL har indbyggede funktioner, der kan fungere direkte på kompleks datastruktur i stedet for selv at skulle skrive algoritmerne.
For eksempel, reverse () -funktion i STL kan bruges til at vende den linkede liste.
# 3) Iteratorer
Iteratorer er det meget vigtige og kendetegnende ved STL. Iteratorer er de konstruktioner, der bruges til at krydse gennem containerobjekterne. I lighed med indekser, som vi bruger til at gå igennem arrays, virker Iteratorer på objekter i containerklasse og kan bruges til at gå igennem dataene.
Beholdere
Beholdere gemmer objekter og data. De er grundlæggende skabelonbaserede generiske klasser.
Beholdere i STL er opdelt i følgende typer:
gratis systemoptimering til Windows 7
# 1) Sekventielle containere
Beholdere der kan tilgås på en sekventiel eller lineær måde siges at være sekventielle beholdere.
Arrays, Vectors, Lists, Deques er STL-containere, der lagrer data lineært og kan tilgås på en rækkefølge.
# 2) Associative containere
Associerende containere er containere, der implementerer sorterede datastrukturer. Disse containere er hurtige at søge på. Nogle af Eksempler af associerende containere er Map, Set, MultiMap, Multiset osv. Disse containere implementeres normalt på en nøgle / værdipar måde.
# 3) Containeroptagere
Containeroptagere er sekventielle containere, men de implementeres ved at give en anden grænseflade. Således er containere som en kø, deque, stack og prioritetskø alle klassificeret som containeradoptere.
Iteratorer
Iteratorer er konstruktioner, som vi bruger til at krydse eller gå gennem containere i STL. Iteratorer er meget vigtige i STL, da de fungerer som en bro mellem algoritmer og containere. Iteratorer peger altid på containere og faktisk algoritmer faktisk, fungerer på iteratorer og aldrig direkte på containere.
Iteratorer er af følgende typer:
- Input Iteratorer: Enkleste og bruges mest i single-pass algoritmer.
- Output Iteratorer: Samme som input iteratorer, men ikke brugt til at krydse.
- Tovejs rystere: Disse iteratorer kan bevæge sig i begge retninger.
- Fremadrettere: Kan kun bruges fremad, et trin ad gangen.
- Tilfældige adgangsteratorer: Samme som henvisninger. Kan bruges til at få adgang til ethvert element tilfældigt.
Algoritmer
Algoritmer er et sæt funktioner eller metoder leveret af STL, der virker på containere. Disse er indbyggede funktioner og kan bruges direkte med STL-containere og iteratorer i stedet for at skrive vores egne algoritmer.
STL understøtter følgende typer algoritmer:
- Søger algoritmer
- Sorteringsalgoritmer
- Ændring eller manipulering af algoritmer
- Ikke-modificerende algoritmer
- Numeriske algoritmer
- Min / maks algoritmer
Som hver af algoritmetyperne antyder, kan disse algoritmer bruges til at opnå forskellig funktionalitet i STL-containere som at søge, sortere, transformere dataene i containerne, finde min / max-værdi osv.
Konklusion
Dette er den korte introduktion af Standard Template Library. I vores kommende tutorials lærer vi mere om hver af containerne, algoritmerne og iteratorerne.
=> Tjek Komplet C ++ GRATIS træningsserie her.