Namespaces
Variants

C++ Standard Library headers

From cppreference.net
Standard library headers

Die Schnittstelle der C++ Standardbibliothek ist durch die folgende Sammlung von Headern definiert.

Inhaltsverzeichnis

Mehrzweck-Header

Allgemeine Hilfsprogramme: Programmsteuerung , dynamische Speicherverwaltung , Zufallszahlen , Sortieren und Suchen
Vordefinierte Ausführungsrichtlinien für parallele Versionen der Algorithmen und Ausführungssteuerungskomponenten (seit C++26)

Sprachunterstützungsbibliothek

Grenzwerte der Gleitkommatypen
Grenzwerte ganzzahliger Typen
(C++20)
Unterstützung für Three-way comparison operator
Vertragsunterstützungsbibliothek
Coroutine-Unterstützungsbibliothek
Makro (und Funktion), das einen Ausführungskontext speichert (und zu diesem springt)
Funktionen und Makrokonstanten für Signalverwaltung
Behandlung von Argumentlisten variabler Länge
Standardmakros und Typdefinitionen
(C++11)
Festbreiten-Ganzzahltypen und Grenzwerte anderer Typen
Exception-Behandlungsfunktionen
std::initializer_list Klassentemplate
Abfrage von Eigenschaften arithmetischer Typen
Low-Level-Speicherverwaltungsfunktionen
Bietet Mittel zum Abruf von Quellcode-Positionsinformationen
(C++23)
Festbreiten-Gleitkommatypen
std::type_index
Laufzeit-Typinformationen-Dienstprogramme
(C++20)
Stellt Makros zur Überprüfung des Implementierungsstatus der Bibliothek bereit

Concepts-Bibliothek

(C++20)
Grundlegende Bibliothekskonzepte

Diagnosebibliothek

Bedingt kompilierte Makro, die ihr Argument mit Null vergleicht
Makro, das die letzte Fehlernummer enthält
Debugging-Bibliothek
Stacktrace Bibliothek
Standardexceptionstypen
Definiert std::error_code , einen plattformabhängigen Fehlercode

Speicherverwaltungsbibliothek

Hochrangige Speicherverwaltungsfunktionen
Polymorphe Allokatoren und Speicherressourcen
Verschachtelte Allocator-Klasse

Metaprogrammierungsbibliothek

(C++11)
Kompilierzeit-Rationalarithmetik
Dienstprogramme für Typinformationen zur Compile-Zeit

Bibliothek für allgemeine Hilfsmittel

(C++17)
std::any Klasse
(C++20)
Bitmanipulationsfunktionen
std::bitset Klassentemplate
(C++23)
std::expected Klassentemplate
Funktionsobjekte, Funktionsaufrufe, Bind-Operationen und Referenz-Wrapper
(C++17)
std::optional Klassentemplate
(C++11)
std::tuple Klassentemplate
Verschiedene Utility-Komponenten
(C++17)
std::variant Klassentemplate

Container-Bibliothek

(C++11)
std::array Container
std::deque Container
(C++23)
std::flat_map und std::flat_multimap Container-Adapter
(C++23)
std::flat_set und std::flat_multiset Container-Adapter
std::forward_list Container
(C++26)
std::hive Container
std::inplace_vector Container
std::list Container
std::map und std::multimap assoziative Container
(C++23)
std::mdspan Ansicht
std::queue und std::priority_queue Container-Adapter
std::set und std::multiset assoziative Container
(C++20)
std::span Ansicht
std::stack Container-Adapter
std::unordered_map und std::unordered_multimap ungeordnete assoziative Container
std::unordered_set und std::unordered_multiset ungeordnete assoziative Container
std::vector Container

Iteratoren-Bibliothek

Bereichs-Iteratoren

Ranges-Bibliothek

std::generator Klassentemplate
(C++20)
Bereichszugriff, Primitive, Anforderungen, Hilfsmittel und Adapter

Algorithmenbibliothek

Algorithmen, die auf Bereichen operieren
Numerische Operationen auf Werten in Bereichen

String-Bibliothek

Verschiedene Narrow-Character-String-Behandlungsfunktionen
std::basic_string Klassentemplate
std::basic_string_view Klassentemplate

Textverarbeitungsbibliothek

Funktionen zur Bestimmung der Kategorie von Narrow Characters
(C++17)
std::to_chars und std::from_chars
C-Lokalisierungsfunktionen
(C++11) (in C++17 veraltet) (in C++26 entfernt)
Unicode-Konvertierungsfunktionen
(C++11)
C-style Unicode-Zeichenkonvertierungsfunktionen
Verschiedene Wide- und Multibyte- Zeichenketten-Behandlungsfunktionen
Funktionen zur Bestimmung der Kategorie von Breitzeichen
(C++20)
Formatierungsbibliothek einschließlich std::format
Lokalisierungsfunktionen
(C++11)
Klassen, Algorithmen und Iteratoren zur Unterstützung der Verarbeitung regulärer Ausdrücke
Textkodierungsidentifikationen

Numerik-Bibliothek

(C++11)
Gleitkomma-Umgebungsfunktionen Zugriffsfunktionen
Allgemeine mathematische Funktionen
Komplexer Zahlentyp
(C++26)
Grundlegende lineare Algebra Algorithmen (BLAS)
(C++20)
Mathematische Konstanten
(C++11)
Zufallszahlengeneratoren und Verteilungen
(C++26)
Datenparallele Typen und Operationen auf diesen Typen
Klasse zur Darstellung und Manipulation von Werte-Arrays

Zeitbibliothek

(C++11)
C++ Zeit-Utilities
C-Stil Zeit-/Datumswerkzeuge

Input/Output-Bibliothek

Formatierungsmakros , intmax_t und uintmax_t Mathematik und Konvertierungen
C-Stil Eingabe-Ausgabe-Funktionen
std::filesystem::path Klasse und unterstützende Funktionen
std::basic_fstream , std::basic_ifstream , std::basic_ofstream Klassentemplates und Typdefinitionen
Hilfsfunktionen zur Steuerung des Formats von Eingabe und Ausgabe
std::ios_base Klasse, std::basic_ios Klassentemplate und Typdefinitionen
Vorwärtsdeklarationen aller Klassen in der Eingabe-/Ausgabebibliothek
Mehrere Standard-Stream-Objekte
std::basic_istream Klassentemplate und Typdefinitionen
std::basic_ostream , std::basic_iostream Klassentemplates und Typdefinitionen
(C++23)
Formatierte Ausgabebibliothek einschließlich std::print
std::basic_spanstream , std::basic_ispanstream , std::basic_ospanstream Klassentemplates und Typdefinitionen
std::basic_stringstream , std::basic_istringstream , std::basic_ostringstream Klassentemplates und Typdefinitionen
std::basic_streambuf Klassentemplate
(in C++98 veraltet) (in C++26 entfernt)
std::strstream , std::istrstream , std::ostrstream
std::basic_osyncstream , std::basic_syncbuf und Typdefinitionen

Concurrency Support Library

(C++11)
Bibliothek für atomare Operationen
(C++20)
Barrier
Thread-Wartebedingungen
(C++11)
Grundlagen für asynchrone Berechnungen
Hazard-Pointer
(C++20)
Riegel
(C++11)
Gegenseitige Ausschlussprimitive
(C++26)
Read-Copy-Update-Mechanismen
Semaphoren
Gemeinsame gegenseitige Ausschlussprimitive
Stopp-Tokens für std::jthread
(C++11)
std::thread Klasse und unterstützende Funktionen

C-Kompatibilitätsheader

Für einige der C-Standardbibliotheksheader der Form xxx .h enthält die C++-Standardbibliothek sowohl einen gleichnamigen Header als auch einen weiteren Header der Form c xxx (alle relevanten c xxx -Header sind oben aufgeführt). Die vorgesehene Verwendung von Headern der Form xxx .h dient ausschließlich der Interoperabilität. Es ist möglich, dass C++-Quelldateien einen dieser Header einbinden müssen, um valides ISO C zu sein. Quelldateien, die nicht gleichzeitig valides ISO C sein sollen, sollten keine der C-Header verwenden.

Mit Ausnahme von complex.h platziert jeder xxx .h -Header, der in der C++-Standardbibliothek enthalten ist, jeden Namen im globalen Namensraum, den der entsprechende c xxx -Header im std -Namensraum platziert hätte.

Diese Header dürfen dieselben Namen auch im std -Namespace deklarieren, und die entsprechenden c xxx -Header dürfen dieselben Namen auch im globalen Namespace deklarieren: Das Inkludieren von <cstdlib> stellt definitiv std::malloc bereit und kann auch :: malloc bereitstellen. Das Inkludieren von <stdlib.h> stellt definitiv :: malloc bereit und kann auch std::malloc bereitstellen. Dies gilt sogar für Funktionen und Funktionsüberladungen, die nicht Teil der C-Standardbibliothek sind.

Hinweise: xxx .h Header sind in C++98 als veraltet markiert und in C++23 wieder als nicht veraltet eingestuft. Diese Header werden für reinen C++-Code nicht empfohlen, sind jedoch nicht von zukünftiger Entfernung betroffen.

Verhält sich gleich wie <cassert>
Verhält sich so, als ob jeder Name aus <cctype> im globalen Namensraum platziert wird
Verhält sich gleich wie <cerrno>
(C++11)
Verhält sich so, als ob jeder Name aus <cfenv> im globalen Namensraum platziert wird
Verhält sich gleich wie <cfloat>
Verhält sich so, als ob jeder Name aus <cinttypes> im globalen Namensraum platziert wird
Verhält sich gleich wie <climits>
Verhält sich so, als ob jeder Name aus <clocale> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cmath> im globalen Namensraum platziert wird,
außer den Namen der mathematischen Sonderfunktionen
Verhält sich so, als ob jeder Name aus <csetjmp> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <csignal> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cstdarg> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cstddef> im globalen Namensraum platziert wird,
außer den Namen von std::byte und zugehörigen Funktionen
(C++11)
Verhält sich so, als ob jeder Name aus <cstdint> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cstdio> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cstdlib> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cstring> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <ctime> im globalen Namensraum platziert wird
(C++11)
Verhält sich so, als ob jeder Name aus <cuchar> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cwchar> im globalen Namensraum platziert wird
Verhält sich so, als ob jeder Name aus <cwctype> im globalen Namensraum platziert wird

Spezielle C-Kompatibilitätsheader

Die Header <stdatomic.h> , <stdbit.h> und <stdckdint.h> deklarieren Namen, die ebenfalls in der C-Standardbibliothek bereitgestellt werden. Der Header <stdatomic.h> definiert auch das _Atomic Makro, welches ein Schlüsselwort in C ist. Im Gegensatz zu anderen < xxx .h> Headern werden entsprechende <cstdatomic> , <cstdbit> und <cstdckdint> nicht bereitgestellt.

Definiert _Atomic und stellt entsprechende Komponenten der C-Standardbibliothek bereit
(C++26)
Stellt entsprechende Komponenten der C-Standardbibliothek bereit
Stellt entsprechende Komponenten der C-Standardbibliothek bereit

Leere C-Header

Die Header <complex.h> , <ccomplex> , <tgmath.h> und <ctgmath> enthalten keine Inhalte aus der C-Standardbibliothek, sondern binden lediglich andere Header aus der C++-Standardbibliothek ein.

(C++11) (veraltet in C++17) (entfernt in C++20)
Enthält lediglich den Header <complex>
Enthält lediglich den Header <complex>
(C++11) (veraltet in C++17) (entfernt in C++20)
Enthält lediglich die Header <complex> und <cmath> : Die Überladungen, die den Inhalten des C-Headers <tgmath.h> entsprechen, werden bereits von diesen Headern bereitgestellt
(C++11)
Enthält lediglich die Header <complex> und <cmath>

Bedeutungslose C-Header

Die Header <ciso646> , <cstdalign> und <cstdbool> sind in C++ bedeutungslos, da die Makros, die sie in C bereitstellen, in C++ Sprachschlüsselwörter sind.

(entfernt in C++20)
Leerer Header. Die Makros, die in iso646.h in C erscheinen sind Schlüsselwörter in C++
(C++11) (veraltet in C++17) (entfernt in C++20)
Definiert Kompatibilitätsmakrokonstanten __alignas_is_defined und __alignof_is_defined
(C++11) (veraltet in C++17) (entfernt in C++20)
Definiert eine Kompatibilitätsmakrokonstante __bool_true_false_are_defined
Hat keine Wirkung
Definiert Kompatibilitätsmakrokonstanten __alignas_is_defined und __alignof_is_defined
Definiert eine Kompatibilitätsmakrokonstante __bool_true_false_are_defined

Nicht unterstützte C-Header

Die C-Header <stdatomic.h> , (bis C++23) <stdnoreturn.h> und <threads.h> sind in C++ nicht enthalten und haben keine c xxx Äquivalente.

Experimentelle Bibliotheken

C++ TR's/TS's definieren ebenfalls mehrere Sammlungen von Headern.

Siehe auch

C-Dokumentation für Standardbibliothek-Header