standard template library
Ein vollständiger Überblick über die Standardvorlagenbibliothek (STL):
Standard Template Library (STL) von C ++ ist eine Sammlung von Vorlagenklassen, die Datenstrukturen wie Arrays, Vektoren, Warteschlangen usw. bereitstellen. STL ist eine Bibliothek, die aus Containern, Algorithmen und Iteratoren besteht.
Da STL aus einer Sammlung von Vorlagenklassen besteht, handelt es sich um eine verallgemeinerte Bibliothek, die von Datentypen unabhängig ist.
=> Lesen Sie hier die umfangreiche C ++ - Schulungsserie.
Was du lernen wirst:
konvertiere char in int c ++
Komponenten von STL
STL besteht hauptsächlich aus den folgenden Komponenten, die unten erwähnt werden:
# 1) Behälter
Ein Container ist eine Sammlung von Objekten eines bestimmten Datenstrukturtyps. In STL gibt es verschiedene Arten von Containerklassen wie Array, Vektor, Warteschlange, Deque, Liste, Map, Set usw. Diese Container sind generischer Natur und werden als Klassenvorlagen implementiert.
Container sind dynamischer Natur und können zur Aufnahme verschiedener Objekttypen verwendet werden.
# 2) Algorithmen
Algorithmen sind die Methoden oder Funktionen, die auf Container wirken. Mithilfe der von STL bereitgestellten Algorithmen können Methoden zum Suchen, Sortieren, Ändern, Transformieren oder Initialisieren des Inhalts von Containerklassenobjekten verwendet werden.
Von STL bereitgestellte Algorithmen verfügen über integrierte Funktionen, die direkt mit komplexen Datenstrukturen arbeiten können, anstatt die Algorithmen selbst schreiben zu müssen.
Zum Beispiel, Die Funktion reverse () in STL kann verwendet werden, um die verknüpfte Liste umzukehren.
# 3) Iteratoren
Iteratoren sind das sehr wichtige und unterscheidende Merkmal von STL. Iteratoren sind die Konstrukte, mit denen die Containerobjekte durchlaufen werden. Ähnlich wie Indizes, die wir zum Durchlaufen der Arrays verwenden, wirken Iteratoren auf Containerklassenobjekte und können zum Durchlaufen der Daten verwendet werden.
Behälter
Container speichern Objekte und Daten. Sie sind im Grunde vorlagenbasierte generische Klassen.
Container in STL sind in folgende Typen unterteilt:
# 1) Sequentielle Container
Container, auf die sequentiell oder linear zugegriffen werden kann, werden als sequentielle Container bezeichnet.
Arrays, Vektoren, Listen, Deques sind die STL-Container, die Daten linear speichern und auf die sequentiell zugegriffen werden kann.
# 2) Assoziative Container
Assoziative Container sind Container, die sortierte Datenstrukturen implementieren. Diese Container sind schnell zu suchen. Einige der Beispiele Zu den assoziativen Containern gehören Map, Set, MultiMap, Multiset usw. Diese Container werden normalerweise in Form von Schlüssel / Wert-Paaren implementiert.
# 3) Containeradapter
Container-Anwender sind sequentielle Container. Sie werden jedoch durch Bereitstellung einer anderen Schnittstelle implementiert. Daher werden Container wie Warteschlange, Deque, Stack und Priority-Queue als Container-Anwender klassifiziert.
Iteratoren
Iteratoren sind Konstrukte, mit denen wir Container in STL durchlaufen oder durchlaufen. Iteratoren sind in STL sehr wichtig, da sie als Brücke zwischen Algorithmen und Containern fungieren. Iteratoren verweisen immer auf Container, und tatsächlich arbeiten Algorithmen mit Iteratoren und niemals direkt mit Containern.
Es gibt folgende Arten von Iteratoren:
Beispiel für Junit-Testfälle in Eclipse
- Eingabe-Iteratoren: Am einfachsten und wird hauptsächlich in Single-Pass-Algorithmen verwendet.
- Ausgabe-Iteratoren: Entspricht den Eingabe-Iteratoren, wird jedoch nicht zum Durchlaufen verwendet.
- Bidirektionale Iteratoren: Diese Iteratoren können sich in beide Richtungen bewegen.
- Vorwärtsiteratoren: Kann nur schrittweise in Vorwärtsrichtung verwendet werden.
- Iteratoren mit wahlfreiem Zugriff: Gleich wie Zeiger. Kann verwendet werden, um zufällig auf ein Element zuzugreifen.
Algorithmen
Algorithmen sind eine Reihe von Funktionen oder Methoden, die von STL bereitgestellt werden und auf Container wirken. Dies sind integrierte Funktionen, die direkt mit den STL-Containern und Iteratoren verwendet werden können, anstatt eigene Algorithmen zu schreiben.
STL unterstützt die folgenden Arten von Algorithmen:
- Suchalgorithmen
- Sortieralgorithmen
- Algorithmen ändern oder manipulieren
- Nicht modifizierende Algorithmen
- Numerische Algorithmen
- Min / Max-Algorithmen
Wie jeder der Algorithmusarten vorschlägt, können diese Algorithmen verwendet werden, um unterschiedliche Funktionen in STL-Containern zu erreichen, z. B. Suchen, Sortieren, Transformieren der Daten in den Containern, Ermitteln des Min / Max-Werts usw.
Fazit
Dies ist die kurze Einführung in die Standardvorlagenbibliothek. In unseren nächsten Tutorials erfahren Sie mehr über die einzelnen Container, Algorithmen und Iteratoren.
=> Überprüfen Sie hier die komplette C ++ FREE-Schulungsserie.