Namensräume
Varianten

Hilfsbibliotheken

Aus cppreference.com
< cpp

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) [edit]

Fehlerbehandlung

  • Ausnahmen (z.B. std::exception, std::terminate)
  • Bedingungsaussagen (z.B. assert)

Quellkodeinformationen verarbeiten

definiert in Header <source_location>
Eine Klasse, die Informationen über den Quellkode, wie Dateiname, Zeilennummern und Funktionsnamen, bietet
(Klasse) [edit]

Initialisierungslisten

definiert in Header <initializer_list>
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) [edit]

3-Wegevergleich

definiert in Header <compare>
spezifiziert, daß der Operator <=> ein konsistentes Ergebnis für den gegebenen Typ erzeugt
(Konzept) [edit]
der Ergebnistyp des 3-Wegevergleichs, der alle 6 Operatoren unterstützt, nicht ersetzbar ist und nichtvergleichbare Werte erlaubt
(Klasse) [edit]
das Ergebnis eines 3-Wegevergleichs, der alle 6 Operatoren unterstützt und nicht ersetzbar ist
(Klasse) [edit]
das Ergebnis des 3-Wegevergleichs, der alle 6 Operatoren unterstützt und ersetzbar ist
(Klasse) [edit]
benamte Vergleichsfunktion
(Funktion) [edit]
Funktionsobjekt, daß x <=> y implementiert
(Klasse) [edit]
gibt den Ergebnistype eines 3-Wegevergleichs <=> für den gegebenen Typ
(Klassen-Template) [edit]
die stärkste Vergleichskategorie, in die alle gegebenen Typen konvertiert werden können
(Klassen-Template) [edit]
führt einen 3-Wegevergleich und erzeugt ein Ergebnis vom Typ std::strong_ordering
(Anpassungspunkt) [edit]
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering
(Anpassungspunkt) [edit]
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering
(Anpassungspunkt) [edit]
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::strong_ordering auch falls operator<=> nicht verfügbar ist
(Anpassungspunkt) [edit]
führt einen 3-Wegevergleich durch und erzeugt ein Ergebnis vom Typ std::weak_ordering auch falls operator<=> nicht vorhanden sind
(Anpassungspunkt) [edit]
führt einen 3-Wegevergeleich durch und erzeugt ein Ergebnis vom Typ std::partial_ordering auch wenn operator<=> nicht verfügbar ist
(Anpassungspunkt) [edit]

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) [edit]
(C++14)
ersetzt das Argument durch einen neuen Wert und gibt den alten Wert zurück
(Funktions-Template) [edit]
(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) [edit]
(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) [edit]
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) [edit]
(C++17)
erzeugt eine Referenz auf eine Konstante des Argumentes
(Funktions-Template) [edit]
(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) [edit]
konvertiert einen Aufzählungswert in den zugrundeliegenden Typ der Aufzählung
(Funktions-Template) [edit]
definiert in Header <concepts>
vertauscht die Werte zweier Objekte
(Anpassungspunkt) [edit]

Ganzzahlenvergleiche

definiert in Header <utility>
vergleicht zwei Ganzzahlen ohne Wertveränderung durch Konvertierung
(Funktions-Template) [edit]
(C++20)
überprüft, ob ein Ganzzahlwert im Wertebereich eines gegebenen Ganzzahltyps liegt
(Funktions-Template) [edit]

Vergleichsoperationen

definiert in Header <utility>
definiert in Namensraum std::rel_ops
automatically generates comparison operators based on user-defined operator== and operator<
(Funktions-Template) [edit]

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) [edit]
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) [edit]
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) [edit]
bietet eine Folge von Ganzzahlen zur Kompilationszeit
(Klassen-Template) [edit]
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) [edit]
(C++17)
ruft eine Funktion mit einem Tuple an Argumenten aus
(Funktions-Template) [edit]
erzeugt ein Objekt aus einem Tuple von Argumenten
(Funktions-Template) [edit]
definiert in Header <tuple>
definiert in Header <utility>
definiert in Header <array>
definiert in Header <ranges>
gibt die Anzahl der Elemente für einen Typ, der sich wie ein std::tuple verhält
(Klassen-Template) [edit]
gibt den Typ eines Elementes für einen Typ, der sich wie ein std::tuple verhält
(Klassen-Template) [edit]

optionale, variante und beliebige Typen

definiert in Header <optional>