std::pair
| Definiert im Header <utility>
|
||
template<
class T1,
class T2
> struct pair;
|
||
std::pair ist eine Klassenvorlage, die eine Möglichkeit bietet, zwei heterogene Objekte als eine einzige Einheit zu speichern. Ein Pair ist ein Spezialfall eines std::tuple mit zwei Elementen.
Wenn weder T1 noch T2 ein möglicherweise cv-qualifizierter Klassentyp mit nicht-trivialem Destruktor oder ein Array davon ist, ist der Destruktor von pair trivial.
Template-Parameter
| T1, T2 | - | die Typen der Elemente, die das Paar speichert. |
Mitgliedertypen
| Mitgliedstyp | Definition |
first_type
|
T1
|
second_type
|
T2
|
Member-Objekte
| Mitgliedsname | Typ |
first
|
T1
|
second
|
T2
|
Memberfunktionen
konstruiert neues
pair
(öffentliche Elementfunktion) |
|
|
weist Inhalte zu
(öffentliche Elementfunktion) |
|
|
(C++11)
|
tauscht Inhalte aus
(öffentliche Elementfunktion) |
Nicht-Member-Funktionen
erstellt ein
pair
-Objekt vom Typ, bestimmt durch die Argumenttypen
(Funktions-Template) |
|
|
(entfernt in C++20)
(entfernt in C++20)
(entfernt in C++20)
(entfernt in C++20)
(entfernt in C++20)
(C++20)
|
vergleicht die Werte im
pair
lexikographisch
(Funktions-Template) |
|
(C++11)
|
spezialisiert den
std::swap
-Algorithmus
(Funktions-Template) |
|
(C++11)
|
greift auf ein Element eines
pair
zu
(Funktions-Template) |
Hilfsklassen
|
(C++11)
|
ermittelt die Größe eines
pair
(Klassen-Template-Spezialisierung) |
|
(C++11)
|
ermittelt den Typ der Elemente von
pair
(Klassen-Template-Spezialisierung) |
bestimmt den gemeinsamen Referenztyp zweier
pair
s
(Klassen-Template-Spezialisierung) |
|
|
(C++23)
|
bestimmt den gemeinsamen Typ zweier
pair
s
(Klassen-Template-Spezialisierung) |
|
(C++23)
|
Formatierungsunterstützung für
pair
(Klassen-Template-Spezialisierung) |
Helfer-Spezialisierungen
|
template
<
class
T,
class
U
>
constexpr
bool
enable_nonlocking_formatter_optimization
<
std
::
pair
<
T, U
>>
=
|
(seit C++23) | |
Diese Spezialisierung von
std::enable_nonlocking_formatter_optimization
ermöglicht eine effiziente Implementierung von
std::print
und
std::println
für die Ausgabe eines
pair
-Objekts, wenn sowohl
T
als auch
U
dies ermöglichen.
Deduktionsleitfäden (seit C++17)
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 2796 | C++98 |
Trivialität des Destruktors von
pair
war nicht spezifiziert
|
spezifiziert |
Siehe auch
|
(C++11)
|
implementiert einen Container fester Größe, der Elemente möglicherweise unterschiedlicher Typen enthält
(Klassentemplate) |
|
(C++11)
|
erstellt ein
tuple
aus Lvalue-Referenzen oder entpackt ein tuple in einzelne Objekte
(Funktionstemplate) |