GeeksforGeeks
On Oktober 28, 2021 by adminDie Standard Template Library (STL) ist eine Sammlung von C++-Vorlagenklassen, die gängige Datenstrukturen und -funktionen wie Listen, Stapel, Arrays usw. bereitstellen. Sie ist eine Bibliothek von Containerklassen, Algorithmen und Iteratoren. Es handelt sich um eine verallgemeinerte Bibliothek, deren Komponenten daher parametrisiert sind. Voraussetzung für die Arbeit mit der STL ist die Kenntnis von Template-Klassen.
Die STL besteht aus vier Komponenten
- Algorithmen
- Container
- Funktionen
- Iteratoren
Algorithmen
Der Header Algorithmus definiert eine Sammlung von Funktionen, die speziell für die Verwendung auf Elementbereichen ausgelegt sind.Sie wirken auf Container und bieten Mittel für verschiedene Operationen für den Inhalt der Container.
- Algorithmus
- Sortieren
- Suchen
- Wichtige STL-Algorithmen
- Nützliche Array-Algorithmen
- Partitionsoperationen
- Numeric
- valarray class
Containers
Containers oder Containerklassen speichern Objekte und Daten. Es gibt insgesamt sieben Standard-Containerklassen „erster Klasse“ und drei Containeradapterklassen und nur sieben Header-Dateien, die den Zugriff auf diese Container oder Containeradapter ermöglichen.
- Sequenz-Container: implementieren Datenstrukturen, auf die sequentiell zugegriffen werden kann.
- Vektor
- Liste
- Deque
- Arrays
- Forward_list( Eingeführt in C++11)
- Container-Adaptoren : bieten eine andere Schnittstelle für sequentielle Container.
- queue
- priority_queue
- stack
- Associative Containers : implementieren sortierte Datenstrukturen, die schnell durchsucht werden können (O(log n) Komplexität).
- set
- multiset
- map
- multimap
- Ungeordnete assoziative Behälter : Implementieren ungeordnete Datenstrukturen, die schnell durchsucht werden können
- unordered_set (eingeführt in C++11)
- unordered_multiset (eingeführt in C++11)
- unordered_map (eingeführt in C++11)
- unordered_multimap (eingeführt in C++11)
Flussdiagramm von adaptiven Containern und ungeordneten Containern
Flussdiagramm von Sequenzcontainern und geordneten Containern
Funktionen
Die STL enthält Klassen, die den Funktionsaufrufoperator überladen. Instanzen solcher Klassen werden als Funktionsobjekte oder Funktoren bezeichnet. Funktoren erlauben es, die Arbeitsweise der zugehörigen Funktion mit Hilfe von zu übergebenden Parametern anzupassen.
- Funktoren
Iteratoren
Wie der Name schon sagt, werden Iteratoren für die Arbeit mit einer Folge von Werten verwendet. Sie sind das Hauptmerkmal, das die Allgemeinheit der STL ermöglicht.
- Iteratoren
Utility Library
Definiert im Header <utility>.
- pair
Schreibe einen Kommentar