std:: pair
|
Definiert im Header
<utility>
|
||
|
template
<
class
T1,
|
||
std::pair
ist eine Klassenvorlage, die eine Möglichkeit bietet, zwei heterogene Objekte als eine Einheit zu speichern. Ein Paar ist ein spezieller Fall 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.
Inhaltsverzeichnis |
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) |