GeeksforGeeks
On oktober 28, 2021 by adminStandard Template Library (STL) er et sæt af C++-skabelonklasser til at levere fælles programmeringsdatastrukturer og -funktioner såsom lister, stakke, arrays osv. Det er et bibliotek med containerklasser, algoritmer og iteratorer. Det er et generaliseret bibliotek, og derfor er dets komponenter parametriseret. Et praktisk kendskab til skabelonklasser er en forudsætning for at arbejde med STL.
STL har fire komponenter
- Algoritmer
- Algoritmer
- Containere
- Funktioner
- Iteratorer
Algoritmer
Hovedalgoritmen definerer en samling af funktioner, der er specielt designet til at blive brugt på intervaller af elementer.De virker på beholdere og giver mulighed for forskellige operationer for indholdet af beholderne.
- Algoritme
- Sortering
- Søgning
- Vigtige STL-algoritmer
- Nyttige Array-algoritmer
- Partikulationsoperationer
- Numerisk
- valarray-klasse
Containere
Containere eller containerklasser lagrer objekter og data. Der findes i alt syv standard “førsteklasses” containerklasser og tre containeradaptorklasser og kun syv headerfiler, der giver adgang til disse containere eller containeradaptorer.
- Sequence Containers: implementerer datastrukturer, som der kan tilgås sekventielt.
- vektor
- liste
- deque
- arrays
- forward_list( Indført i C++11)
- Containeradaptorer : giver en anden grænseflade til sekventielle containere.
- queue
- priority_queue
- stack
- Associative Containers : implementerer sorterede datastrukturer, der hurtigt kan gennemsøges (O(log n)-kompleksitet).
- set
- multiset
- map
- multimap
- Uordnede Associative Containers : implementerer uordnede datastrukturer, der hurtigt kan gennemsøges
- unordered_set (Introduceret i C++11)
- unordered_multiset (Introduceret i C++11)
- unordered_map (Introduceret i C++11)
- unordered_multimap (Introduceret i C++11)
- Funktorer
- Iteratorer
- par
Flowchart of Adaptive Containers and Unordered Containers
Flowchart of Sequence conatiners and ordered containers
Funktioner
STL indeholder klasser, der overloader funktionskaldsoperatoren. Instanser af sådanne klasser kaldes funktionsobjekter eller funktorer. Funktorer gør det muligt at tilpasse den tilknyttede funktions funktion ved hjælp af parametre, der skal overføres.
Iteratorer
Som navnet antyder, bruges iteratorer til at arbejde på en sekvens af værdier. De er den vigtigste funktion, der muliggør generalitet i STL.
Udstyrsbibliotek
Defineret i header <utility>.
Skriv et svar