Namespaces
Variants

std::in_place, std::in_place_type, std::in_place_index, std::in_place_t, std::in_place_type_t, std::in_place_index_t

Von de.cppreference.net
 
 
Hilfsprogrammbibliothek
Sprachunterstützung
Typunterstützung (grundlegende Typen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programmhilfsprogramme
Variadische Funktionen
Koroutinenunterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Hilfsprogramme
Relationsoperatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Definiert im Header <utility>
struct in_place_t { explicit in_place_t() = default; };
(1) (seit C++17)
inline constexpr std::in_place_t in_place {};
(2) (seit C++17)
template< class T >
struct in_place_type_t { explicit in_place_type_t() = default; };
(3) (seit C++17)
template< class T >
constexpr std::in_place_type_t<T> in_place_type {};
(4) (seit C++17)
template< std::size_t I >
struct in_place_index_t { explicit in_place_index_t() = default; };
(5) (seit C++17)
template< std::size_t I >
constexpr std::in_place_index_t<I> in_place_index {};
(6) (seit C++17)
1,3,5) Die Typ-/Typschablonen std::in_place_t, std::in_place_type_t und std::in_place_index_t können in der Parameterliste des Konstruktors verwendet werden, um das beabsichtigte Tag zuzuordnen.
2,4,6) Die entsprechenden std::in_place, std::in_place_type und std::in_place_index Instanzen von (1,3,5) sind Disambiguierungs-Tags, die an die Konstruktoren übergeben werden können, um anzuzeigen, dass das enthaltene Objekt direkt vor Ort konstruiert werden soll, und (für die letzten beiden) den Typ des zu konstruierenden Objekts.

Standardbibliothek

Die folgenden Standardbibliothekstypen verwenden (1-6) als Unterscheidungsmarkierungen:

(C++17)
Objekte, die Instanzen eines beliebigen CopyConstructible Typs halten
(Klasse)
(C++23)
ein Wrapper, der entweder einen erwarteten oder einen Fehlerwert enthält
(Klassentemplate)
nur bewegbarer Wrapper eines beliebigen aufrufbaren Objekts, das Qualifizierer in einer gegebenen Aufrufsignatur unterstützt
(Klassentemplate)
(C++17)
ein Wrapper, der möglicherweise ein Objekt enthält oder nicht
(Klassentemplate)
(C++17)
eine typsichere, diskriminierte Union
(Klassentemplate)

Siehe auch

zeigt an, dass die Elemente eines Bereichs sortiert und eindeutig sind
(Tag)
zeigt an, dass die Elemente eines Bereichs sortiert sind (Eindeutigkeit nicht erforderlich)
(Tag)