Übersicht über die C++-Standardbibliothek (STL)

Alle C++-Bibliotheken werden in Standardheadern deklariert oder definiert. Diese Implementierung enthält zwei weitere Header <hash_map> und <hash_set>, die vom C++-Standard nicht benötigt werden. Eine vollständige Liste der Header, die diese Implementierung unterstützt, finden Sie unter "Headerdateien"- Referenz.

Der C++-Standard definiert zwei Arten von konformen Bibliotheken:

  • Eine gehostete Implementierung, die alle erforderlichen Standardbibliotheksheader unterstützt, die vom C++-ISO-Standard beschrieben werden.
  • Eine frei stehende Implementierung, die nur eine Teilmenge der Standardbibliotheksheader erfordert. Die erforderliche Teilmenge lautet:
Freistehende Kopfzeilenuntermenge
<atomic> (mindestens atomic_signed_lock_free deklarieren und atomic_unsigned_lock_free) <cstdint> <ranges>
<bit> <cstdlib>(mindestens abortdeklarieren , , atexit, at_quick_exit, exit, ) quick_exit <ratio>
<cfloat> <exception> <tuple>
<climits> <functional> <typeinfo>
<compare> <initializer_list> <source_location>
<concepts> <iterator> <type_traits>
<coroutine> <limits> <utility>
<cstdarg> <memory> <version>
<cstddef> <new>

Die folgenden Header sind seit C++11 veraltet: <ciso646>, , <cstdalign>und <cstdbool>.

Weitere Unterschiede zwischen freistehenden und gehosteten Implementierungen sind:

  • Für gehostete Implementierungen ist eine globale Funktion mit dem Namen erforderlich main. Eine eigenständige Implementierung kann eigene Start- und Beendigungsfunktionen definieren.
  • Gehostete Implementierungen müssen mehrere Threads unterstützen, die gleichzeitig ausgeführt werden. Implementierungen von freistehenden Implementierungen entscheiden, ob ihre Bibliothek gleichzeitige Threads unterstützt.

Die Microsoft C++-Standardbibliothek erfüllt sowohl freie als auch gehostete Anforderungen.

Die C++-Bibliothek-Header umfassen zwei größere Teilbereiche:

Dieser Artikel enthält folgende Abschnitte:

Weitere Informationen zu Visual C++-Laufzeitbibliotheken finden Sie unter CRT-Bibliotheksfunktionen.

Hinweis

Microsofts Implementierung der C++-Standardbibliothek wird häufig als STL - oder Standardvorlagenbibliothek bezeichnet. Obwohl die C++-Standardbibliothek der offizielle Name der Bibliothek gemäß ISO 14882 ist, verwenden wir aufgrund der beliebten Verwendung von "STL" und "Standard Template Library" in Suchmaschinen gelegentlich diese Namen, um die Suche nach unserer Dokumentation zu erleichtern. Aus historischer Sicht bezeichnete "STL" ursprünglich die Von Alexander Stepanov geschriebene Standardvorlagenbibliothek. Teile dieser Bibliothek wurden in der C++-Standardbibliothek standardisiert, zusammen mit der ISO C-Laufzeitbibliothek, Teilen der Boost-Bibliothek und anderen Funktionen. Manchmal wird auch "STL" verwendet, um auf die Container und Algorithmen teile der C++-Standardbibliothek zu verweisen, die von Stepanov's STL angepasst wurden. In dieser Dokumentation bezieht sich die Standardvorlagenbibliothek (STL) als Ganzes auf die C++-Standardbibliothek.

Siehe auch

C++-Standardbibliothek