Hilfsbibliotheken
C++ beinhaltet eine Reihe von Hilfsbibliotheken, deren Funktionsumfang von Bitverarbeitung bis zur Untertstützung von teilweise gebundenen Funktionen. Diese Bibliotheken können grob in zwei Gruppen eingeteilt werden:
- Bibliotheken, die die Programmiersprache unterstützen,
- und Bibliotheken mit grundlegenden Funktionen.
Unterstützung der Programmiersprache
Sprachunterstützungsbibliotheken bieten Klassen und Funktionen, die eng mit Spracheigenschaften zusammenarbieten und allgemeine Sprachidiome unterstützen.
Typenunterstützung
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 implementationsabhängige Informationen über die C++-Standardbibliothek, wie Versionsnummer und Veröffentlichungsdatum. Des weiteren werden Bibliotheksmakros zum Testen verschiedener Eigenschaften definiert.
|
(seit C++20) |
Hilfsmittel für grundlegende Unterstützung 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 für 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 für 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 für den gegebenen Typ erzeugt (Konzept) | |
(C++20) |
der Ergebnistyp des 3-Wegevergleichs, der alle 6 Operatoren unterstützt, nicht ersetzbar ist und nichtvergleichbare Werte erlaubt (Klasse) |
(C++20) |
das Ergebnis eines 3-Wegevergleichs, der alle 6 Operatoren unterstützt und nicht ersetzbar ist (Klasse) |
(C++20) |
das Ergebnis des 3-Wegevergleichs, der alle 6 Operatoren unterstützt und ersetzbar ist (Klasse) |
| benamte Vergleichsfunktion (Funktion) | |
(C++20) |
Funktionsobjekt, daß x <=> y implementiert (Klasse) |
(C++20) |
gibt den Ergebnistype eines 3-Wegevergleichs <=> für den gegebenen Typ (Klassen-Template) |
(C++20) |
die stärkste Vergleichskategorie, in die alle gegebenen Typen konvertiert werden können (Klassen-Template) |
(C++20) |
führt einen 3-Wegevergleich und erzeugt ein Ergebnis vom Typ std::strong_ordering (Anpassungspunkt) |
(C++20) |
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering (Anpassungspunkt) |
(C++20) |
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering (Anpassungspunkt) |
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::strong_ordering auch falls operator<=> nicht verfügbar ist (Anpassungspunkt) | |
(C++20) |
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering auch falls operator<=> nicht vorhanden sind (Anpassungspunkt) |
führt einen 3-Wegevergeleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering auch wenn operator<=> nicht verfügbar ist (Anpassungspunkt) | |
Unterstützung für Coroutinen
|
Typen für die Unterstützung von Coroutinen, z.B. std::coroutine_traits, std::coroutine_handle.
|
(seit C++20) |
Variadische Funktionen
Unterstützung 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 zurück (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) |
erhält 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) |
erhält 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) |
erhält 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 Aufzählungswert in den zugrundeliegenden Typ der Aufzählung (Funktions-Template) |
definiert in Header
<concepts> | |
(C++20) |
vertauscht die Werte zweier Objekte (Anpassungspunkt) |
Ganzzahlenvergleiche
definiert in Header
<utility> | |
| vergleicht zwei Ganzzahlen ohne Wertveränderung durch Konvertierung (Funktions-Template) | |
(C++20) |
überprüft, 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 binären 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 für stückweise Konstruktion auszuwählen 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 für stückweise 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 Größe, die Elemente von potentiell unterschiedlichen Datentypen enthalten können 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 für einen Typ, der sich wie ein std::tuple verhält (Klassen-Template) |
(C++11) |
gibt den Typ eines Elementes für einen Typ, der sich wie ein std::tuple verhält (Klassen-Template) |
optionale, variante und beliebige Typen
definiert in Header
<optional> | |