Namensräume
Varianten
Aktionen

C++ Standard Library Header

Von cppreference.com
< cpp
 
 
Header der Standardbibliothek
 

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

Inhalt

Mehrzweck-Header

Allgemeine Dienstprogramme: Programmsteuerung, dynamische Speicherzuweisung, Zufallszahlen, Sortieren und Suchen[edit]
Vordefinierte Ausführungsrichtlinien für parallele Versionen der Algorithmen und Ausführungssteuerungskomponenten(seit C++26)[edit]

Bibliothek für Sprachunterstützung

Grenzen von Gleitkommatypen[edit]
Grenzen von Ganzzahltypen[edit]
(C++20)
Unterstützung für den Drei-Wege-Vergleichsoperator[edit]
Unterstützungsbibliothek für Verträge[edit]
Coroutine-Unterstützungsbibliothek[edit]
Makro (und Funktion) zum Speichern (und Springen) zu einem Ausführungskontext[edit]
Funktionen und Makrokonstanten für die Signalverwaltung[edit]
Behandlung von Argumentlisten variabler Länge[edit]
Standardmakros und Typedefs[edit]
(C++11)
Ganzzahltypen mit fester Breite und Grenzen anderer Typen[edit]
Dienstprogramme zur Ausnahmebehandlung[edit]
std::initializer_list Klassenschablone[edit]
Abfragen von Eigenschaften von arithmetischen Typen[edit]
Niedrigstufige Speicherverwaltungsdienstprogramme[edit]
Liefert Mittel zur Ermittlung des Quellcode-Standorts[edit]
Gleitkommatypen mit fester Breite[edit]
std::type_index[edit]
Laufzeit-Typinformations-Dienstprogramme[edit]
(C++20)
Liefert Makros zur Überprüfung des Implementierungsstatus der Bibliothek[edit]

Konzeptbibliothek

Grundlegende Bibliothekskonzepte[edit]

Diagnostik-Bibliothek

Bedingt kompilierte Makros, die ihr Argument mit Null vergleichen[edit]
Makro, das die letzte Fehlernummer enthält[edit]
Debugging-Bibliothek[edit]
Stacktrace-Bibliothek[edit]
Standard-Ausnahme-Typen[edit]
Definiert std::error_code, einen plattformabhängigen Fehlercode[edit]

Speicherverwaltungsbibliothek

Hochstufige Speicherverwaltungsdienstprogramme[edit]
Polymorphe Allokatoren und Speicherressourcen[edit]
Verschachtelte Allokatorklasse[edit]

Metaprogrammierungsbibliothek

(C++11)
Rationale Arithmetik zur Kompilierzeit[edit]
Typinformations-Dienstprogramme zur Kompilierzeit[edit]

Allgemeine Dienstprogramme-Bibliothek

(C++17)
std::any Klasse[edit]
(C++20)
Bitmanipulations-Funktionen[edit]
std::bitset Klassenschablone[edit]
std::expected Klassenschablone[edit]
Funktionsobjekte, Funktionsaufrufe, Bind-Operationen und Referenz-Wrapper[edit]
std::optional Klassenschablone[edit]
(C++11)
std::tuple Klassenschablone[edit]
Verschiedene Dienstprogrammkomponenten[edit]
(C++17)
std::variant Klassenschablone[edit]

Container-Bibliothek

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

Iterator-Bibliothek

Bereichs-Iteratoren[edit]

Bereichsbibliothek

std::generator Klassenschablone[edit]
(C++20)
Zugriff auf Bereiche, Primitive, Anforderungen, Dienstprogramme und Adapter[edit]

Algorithmen-Bibliothek

Auf Bereiche wirkende Algorithmen[edit]
Numerische Operationen auf Werten in Bereichen[edit]

Bibliothek für Zeichenketten

Verschiedene Funktionen zur Verarbeitung von schmalen Zeichenketten[edit]
std::basic_string Klassenschablone[edit]
std::basic_string_view Klassenschablone[edit]

Textverarbeitungsbibliothek

Funktionen zur Bestimmung der Kategorie von schmalen Zeichen[edit]
std::to_chars und std::from_chars[edit]
C-Lokalisierungsdienstprogramme[edit]
(C++11)(deprecated in C++17)(removed in C++26)
Unicode-Konvertierungseinrichtungen[edit]
(C++11)
C-Stil Unicode-Zeichenkonvertierungsfunktionen[edit]
Verschiedene weite und mehrere Byte Zeichenkettenverarbeitungsfunktionen[edit]
Funktionen zur Bestimmung der Kategorie von weiten Zeichen[edit]
(C++20)
Formatierungsbibliothek, einschließlich std::format[edit]
Lokalisierungsdienstprogramme[edit]
(C++11)
Klassen, Algorithmen und Iteratoren zur Unterstützung der regulären Ausdrucksverarbeitung[edit]
Identifikation von Textkodierungen[edit]

Numerik-Bibliothek

(C++11)
Funktionen zum Zugriff auf die Gleitkomma-Umgebung[edit]
Gängige mathematische Funktionen[edit]
Komplexe Zahlentypen[edit]
(C++26)
Grundlegende Algorithmen der linearen Algebra (BLAS)[edit]
(C++20)
Mathematische Konstanten[edit]
(C++11)
Zufallszahlengeneratoren und Verteilungen[edit]
(C++26)
Datenparallele Typen und Operationen auf diesen Typen[edit]
Klasse zur Darstellung und Manipulation von Werte-Arrays[edit]

Zeitbibliothek

(C++11)
C++ Zeit-Dienstprogramme[edit]
C-Stil Zeit-/Datums-Dienstprogramme[edit]

Ein-/Ausgabe-Bibliothek

Formatierungs-Makros, intmax_t und uintmax_t Mathe und Konvertierungen[edit]
C-Stil Ein-/Ausgabe-Funktionen[edit]
std::filesystem::path Klasse und unterstützende Funktionen[edit]
std::basic_fstream, std::basic_ifstream, std::basic_ofstream Klassenschablonen und Typedefs[edit]
Hilfsfunktionen zur Steuerung des Formats von Ein- und Ausgabe[edit]
std::ios_base Klasse, std::basic_ios Klassenschablone und Typedefs[edit]
Vorwärtsdeklarationen aller Klassen in der Ein-/Ausgabe-Bibliothek[edit]
Mehrere Standard-Stream-Objekte[edit]
std::basic_istream Klassenschablone und Typedefs[edit]
std::basic_ostream, std::basic_iostream Klassenvorlagen und Typedefs[edit]
(C++23)
Bibliothek für formatierte Ausgaben, einschließlich std::print[edit]
std::basic_spanstream, std::basic_ispanstream, std::basic_ospanstream Klassenvorlagen und Typedefs[edit]
std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream Klassenvorlagen und Typedefs[edit]
std::basic_streambuf Klassenvorlage[edit]
(in C++98 veraltet)(in C++26 entfernt)
std::strstream, std::istrstream, std::ostrstream[edit]
std::basic_osyncstream, std::basic_syncbuf und Typedefs[edit]

Bibliothek für nebenläufige Programmierung

(C++11)
Bibliothek für atomare Operationen[edit]
(C++20)
Barrieren[edit]
Wartebedingungen für Threads[edit]
(C++11)
Primitive für asynchrone Berechnungen[edit]
Gefahrenzeiger[edit]
(C++20)
Latchs[edit]
(C++11)
Primitive für gegenseitige Ausschlüsse[edit]
(C++26)
Mechanismen für Lese-Kopie-Aktualisierungen[edit]
Semaphoren[edit]
Primitive für geteilte gegenseitige Ausschlüsse[edit]
Stopp-Tokens für std::jthread[edit]
(C++11)
std::thread-Klasse und unterstützende Funktionen[edit]

[edit] C-Kompatibilitätsheader

Für einige C-Standardbibliotheksheader der Form xxx.h enthält die C++-Standardbibliothek sowohl einen gleichnamigen Header als auch einen Header der Form cxxx (alle sinnvollen cxxx-Header sind oben aufgeführt). Die vorgesehene Verwendung von Headern der Form xxx.h ist ausschließlich für die Interoperabilität bestimmt. Es ist möglich, dass C++-Quelldateien einen dieser Header einschließen müssen, um ISO C-gültig zu sein. Quelldateien, die nicht ebenfalls ISO C-gültig sein sollen, sollten keine der C-Header verwenden.

Mit Ausnahme von complex.h platziert jeder in der C++-Standardbibliothek enthaltene xxx.h-Header jeden Namen, den der entsprechende cxxx-Header im std-Namespace platziert hätte, im globalen Namespace.

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

Hinweise: xxx.h-Header sind in C++98 veraltet und in C++23 wieder zugelassen. Diese Header werden für reinen C++-Code nicht empfohlen, unterliegen aber keiner zukünftigen Entfernung.

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

[edit] Spezielle C-Kompatibilitätsheader

Der Header <stdatomic.h> deklariert Namen, die auch in der C-Standardbibliothek bereitgestellt werden, und definiert das Makro _Atomic, das in C ein Schlüsselwort ist. Im Gegensatz zu anderen xxx.h-Headern wird kein entsprechender Header <cstdatomic> bereitgestellt.

Definiert _Atomic und stellt entsprechende Komponenten in der C-Standardbibliothek bereit[edit]

[edit] Leere C-Header

Die Header <complex.h>, <ccomplex>, <tgmath.h> und <ctgmath> enthalten keinen Inhalt aus der C-Standardbibliothek und schließen stattdessen lediglich andere Header aus der C++-Standardbibliothek ein.

(C++11)(in C++17 veraltet)(in C++20 entfernt)
Schließt einfach den Header <complex> ein[edit]
Schließt einfach den Header <complex> ein[edit]
(C++11)(in C++17 veraltet)(in C++20 entfernt)
Schließt einfach die Header <complex> und <cmath> ein: die Überladungen, die den Inhalten des C-Headers <tgmath.h> entsprechen, werden bereits von diesen Headern bereitgestellt[edit]
Schließt einfach die Header <complex> und <cmath> ein[edit]

[edit] Sinnlose C-Header

Die Header <ciso646>, <cstdalign> und <cstdbool> sind in C++ bedeutungslos, da die von ihnen in C bereitgestellten Makros in C++ Schlüsselwörter sind.

(in C++20 entfernt)
Leerer Header. Die Makros, die in C in iso646.h erscheinen, sind in C++ Schlüsselwörter[edit]
(C++11)(in C++17 veraltet)(in C++20 entfernt)
Definiert eine Kompatibilitätsmakrokonstante[edit]
(C++11)(in C++17 veraltet)(in C++20 entfernt)
Definiert eine Kompatibilitätsmakrokonstante[edit]
Hat keine Auswirkung[edit]
Definiert eine Kompatibilitätsmakrokonstante[edit]
Definiert eine Kompatibilitätsmakrokonstante[edit]

[edit] 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 cxxx-Entsprechungen.

[edit] Experimentelle Bibliotheken

C++ TRs/TSs definieren auch mehrere Sammlungen von Headern.

[edit] Siehe auch

C-Dokumentation für C-Standardbibliotheks-Header