Hilfsbibliotheken
C++ beinhaltet eine Reihe von Hilfsbibliotheken, deren Funktionsumfang von Bitverarbeitung bis zur Untertsttzung von teilweise gebundenen Funktionen. Diese Bibliotheken knnen grob in zwei Gruppen eingeteilt werden:
- Bibliotheken, die die Programmiersprache untersttzen,
- und Bibliotheken mit grundlegenden Funktionen.
Untersttzung der Programmiersprache
Sprachuntersttzungsbibliotheken bieten Klassen und Funktionen, die eng mit Spracheigenschaften zusammenarbieten und allgemeine Sprachidiome untersttzen.
Typenuntersttzung
Basistypen (z.B. std::size_t, std::nullptr_t), RTTI (e.g. std::type_info), type traits (z.B. std::is_integral, std::rank)
Implementationeigenschaften
|
Die Headerdatei <version> gibt implementationsabhngige Informationen ber die C++-Standardbibliothek, wie Versionsnummer und Verffentlichungsdatum. Des weiteren werden Bibliotheksmakros zum Testen verschiedener Eigenschaften definiert.
|
(seit C++20) |
Hilfsmittel fr grundlegende Untersttzung von Programme
- Beenden von Programmen (z.B. std::abort, std::atexit)
- Laufzeitumgebung (z.B. std::system)
- Signale (z.B. std::raise)
Dynamische Speicherverwaltung
- Intelligente Zeiger (z.B. std::shared_ptr)
- Allokatoren (z.B. std::allocator oder std::pmr::memory_resource)
- Speicherverwaltung im C-Stil (z.B. std::malloc)
Objektzugriffe
definiert in Header
<new> | |
(C++17) |
Optimisierungsschranke fr Zeiger (Funktions-Template) |
Fehlerbehandlung
- Ausnahmen (z.B. std::exception, std::terminate)
- Bedingungsaussagen (z.B. assert)
Quellkodeinformationen verarbeiten
definiert in Header
<source_location> | |
(C++20) |
Eine Klasse, die Informationen ber den Quellkode, wie Dateiname, Zeilennummern und Funktionsnamen, bietet (Klasse) |
Initialisierungslisten
definiert in Header
<initializer_list> | |
(C++11) |
erlaubt die Verwendung von Initialisierungslisten fr komplexe, nicht-POD Datentypen Original: {{{2}}} The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) |
3-Wegevergleich
definiert in Header
<compare> | |
spezifiziert, da der Operator <=> ein konsistentes Ergebnis fr den gegebenen Typ erzeugt (Konzept) | |
(C++20) |
der Ergebnistyp des 3-Wegevergleichs, der alle 6 Operatoren untersttzt, nicht ersetzbar ist und nichtvergleichbare Werte erlaubt (Klasse) |
(C++20) |
das Ergebnis eines 3-Wegevergleichs, der alle 6 Operatoren untersttzt und nicht ersetzbar ist (Klasse) |
(C++20) |
das Ergebnis des 3-Wegevergleichs, der alle 6 Operatoren untersttzt und ersetzbar ist (Klasse) |
| benamte Vergleichsfunktion (Funktion) | |
(C++20) |
Funktionsobjekt, da x <=> y implementiert (Klasse) |
(C++20) |
gibt den Ergebnistype eines 3-Wegevergleichs <=> fr den gegebenen Typ (Klassen-Template) |
(C++20) |
die strkste Vergleichskategorie, in die alle gegebenen Typen konvertiert werden knnen (Klassen-Template) |
(C++20) |
fhrt einen 3-Wegevergleich und erzeugt ein Ergebnis vom Typ std::strong_ordering (Anpassungspunkt) |
(C++20) |
fhrt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering (Anpassungspunkt) |
(C++20) |
fhrt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering (Anpassungspunkt) |
fhrt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::strong_ordering auch falls operator<=> nicht verfgbar ist (Anpassungspunkt) | |
(C++20) |
fhrt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering auch falls operator<=> nicht vorhanden sind (Anpassungspunkt) |
fhrt einen 3-Wegevergeleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering auch wenn operator<=> nicht verfgbar ist (Anpassungspunkt) | |
Untersttzung fr Coroutinen
|
Typen fr die Untersttzung von Coroutinen, z.B. std::coroutine_traits, std::coroutine_handle.
|
(seit C++20) |
Variadische Funktionen
Untersttzung von Funktionen mit beliebiger Anzahl von Parameters (z.B. va_start, va_arg, va_end)
Grundlegende Hilfsmittel
Swap and type operations
definiert in Header
<utility> | |
tauscht die Werte von zwei Objekten Original: swaps the values of two objects The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) | |
(C++14) |
ersetzt das Argument durch einen neuen Wert und gibt den alten Wert zurck (Funktions-Template) |
(C++11) |
leitet eine Funktion Argument Original: forwards a function argument The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) |
(C++11) |
erhlt einen rvalue Referenz Original: obtains an rvalue reference The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) |
(C++11) |
erhlt eine rvalue Referenz, wenn der Umzug Konstruktor nicht werfen wird Original: obtains an rvalue reference if the move constructor does not throw The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) |
(C++17) |
erzeugt eine Referenz auf eine Konstante des Argumentes (Funktions-Template) |
(C++11) |
erhlt die Art des Ausdrucks in unevaluierten Kontext Original: obtains the type of expression in unevaluated context The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Funktions-Template) |
(C++23) |
konvertiert einen Aufzhlungswert in den zugrundeliegenden Typ der Aufzhlung (Funktions-Template) |
definiert in Header
<concepts> | |
(C++20) |
vertauscht die Werte zweier Objekte (Anpassungspunkt) |
Ganzzahlenvergleiche
definiert in Header
<utility> | |
| vergleicht zwei Ganzzahlen ohne Wertvernderung durch Konvertierung (Funktions-Template) | |
(C++20) |
berprft, ob ein Ganzzahlwert im Wertebereich eines gegebenen Ganzzahltyps liegt (Funktions-Template) |
Vergleichsoperationen
definiert in Header
<utility> | |
definiert in Namensraum
std::rel_ops | |
automatically generates comparison operators based on user-defined operator== and operator< (Funktions-Template) | |
Paare and Tuple
definiert in Header
<utility> | |
implementiert binren Tupel, d.h. ein Paar von Werten Original: implements binary tuple, i.e. a pair of values The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) | |
(C++11) |
Tag-Typ verwendet werden, um die korrekte Funktion berlast fr stckweise Konstruktion auszuwhlen Original: tag type used to select correct function overload for piecewise construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klasse) |
(C++11) |
ein Objekt vom Typ piecewise_construct_t verwendet, um Funktionen fr stckweise Konstruktion eindeutig zu machen Original: an object of type piecewise_construct_t used to disambiguate functions for piecewise construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (konstanten) |
(C++14) |
bietet eine Folge von Ganzzahlen zur Kompilationszeit (Klassen-Template) |
definiert in Header
<tuple> | |
(C++11) |
implementiert Container fester Gre, die Elemente von potentiell unterschiedlichen Datentypen enthalten knnen Original: implements fixed size container, which holds elements of possibly different types The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) |
(C++17) |
ruft eine Funktion mit einem Tuple an Argumenten aus (Funktions-Template) |
(C++17) |
erzeugt ein Objekt aus einem Tuple von Argumenten (Funktions-Template) |
definiert in Header
<tuple> | |
definiert in Header
<utility> | |
definiert in Header
<array> | |
definiert in Header
<ranges> | |
(C++11) |
gibt die Anzahl der Elemente fr einen Typ, der sich wie ein std::tuple verhlt (Klassen-Template) |
(C++11) |
gibt den Typ eines Elementes fr einen Typ, der sich wie ein std::tuple verhlt (Klassen-Template) |
optionale, variante und beliebige Typen
definiert in Header
<optional> | |
(C++17) |
eine Hlle, die ein Objekt beinhaltet order nicht. (Klassen-Template) |
definiert in Header
<variant> | |
(C++17) |
eine typensichere Union (Klassen-Template) |
definiert in Header
<any> | |
(C++17) |
Objekte, die einen beliebigen CopyConstructible Type speichern knnen (Klasse) |
definiert in Header
<utility> | |
| Marker fr in-place-Konstruktion (Klassen-Template) | |
Untersttzung fr Bitbearbeitung
definiert in Header
<bitset> | |
implementiert konstante Lnge Bit-Array Original: implements constant length bit array The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klasse) | |
Funktionsobjekte
- Funktionen mit teilweise voreingestellten Argumenten wie std::bind
- Hilfsmittel zum Argumentbinden wie std::ref und std::placeholders
- polymorphe Funktionshllen wie std::function
- vordefinierte Funktoren wie std::plus, std::equal_to)
- Konvertierung von Funktionen wie std::mem_fn.
Hashuntersttzung
definiert in Header
<functional> | |
(C++11) |
Funktionsobjekt zur Erzeugung von Hashwerten (Klassen-Template) |
Datum und Zeit
- Time tracking (z.B. std::chrono::time_point, std::chrono::duration)
- Datum und Zeit im C-Stil (z.B. std::time, std::clock)
Grundlegende Konvertierungen von Zeichenketten
Zustzlich zu ausgeklgelten locale-abhngigen Parsern und Formatierern wie sie durch die C++ I/O-Bibliothek, die C I/O-Bibliothek, C++-Zeichenkonvertern und C-Zeichenkonvertern zur Verfgung gestellt werden, bietet die Headerdatei <charconv> leichtgewichtige, locale-unabhngige, parser und Formatierer fr arithmetische Typen an, die weder Speicher allokieren, noch Ausnahmen auslsen.
definiert in Header
<charconv> | |
(C++17) |
konvertiert eine Ganzzahl oder eine Gleitkommazahl in eine Zeichenfolge (Funktion) |
(C++17) |
konvertiert eine Zeichenfolge in eine Ganzzahl oder eine Gleitkommazahl (Funktion) |
(C++17) |
definiert die Formatierung fr std::to_chars und std::from_chars (enum) |
Formatting library
Hilfen fr die typensichere Zeichenkettenformatierung
definiert in Header
<format> | |
(C++20) |
speichert die formatierte Darstellung der Argumente in einer neuen Zeichenkette (Funktions-Template) |
(C++20) |
bergibt die formatierte Darstellung der Argumente an einen Ausgabestrom (Funktions-Template) |
(C++20) |
bergibt die formatierte Darstellung der Argumente an einen Ausgabestrom unter Bercksichtigung der gegeben Lngenbeschrnkung (Funktions-Template) |
(C++20) |
bestimmt die Anzahl von Zeichen, die notwendig sind, um die formatierte Darstellung der Argumente zu speichern (Funktions-Template) |
(C++20) |
nicht-templatisierte Variante von std::format mit einer typenlosen Argumentenrepresentation (Funktions-Template) |
(C++20) |
nicht-templatisierte Variante von std::format_to mit einer typenlosen Argumentenrepresentation (Funktions-Template) |
(C++20) |
Klassentemplate, da Formatierungsregeln fr einen gegebene Type definiert (Klassen-Template) |
(C++20) |
Ausnahme, dir bei Formatierungsfehlern ausgelst wird (Klasse) |
Stacktrace
definiert in Header
<stacktrace> | |
(C++23) |
Darstellung eines Ertrags in einem Stacktrace (Klasse) |
(C++23) |
angenommene Darstellung einer Folge von Aufrufen, der aus Stacktrace-Eintrgen besteht. (Klassen-Template) |
Referenzen
C documentation for Utility library
|