Namensräume
Varianten
Aktionen

std::expected<T,E>::emplace

Von cppreference.com
< cpp‎ | utility‎ | expected
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstü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 Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
Primäre Vorlage
template< class... Args >
constexpr T& emplace( Args&&... args ) noexcept;
(1) (seit C++23)
template< class U, class... Args >
constexpr T& emplace( std::initializer_list<U> il, Args&&... args ) noexcept;
(2) (seit C++23)
void partielle Spezialisierung
constexpr void emplace() noexcept;
(3) (seit C++23)

Konstruiert einen erwarteten Wert an Ort und Stelle. Nach dem Aufruf gibt has_value() true zurück.

1) Zerstört den enthaltenen Wert und initialisiert dann den im *this enthaltenen erwarteten Wert direkt mit std::forward<Args>(args)....
Diese Überladung nimmt an der Auflösung von Überladungen teil, nur wenn std::is_nothrow_constructible_v<T, Args...> true ist.
2) Zerstört den enthaltenen Wert und initialisiert dann den im *this enthaltenen erwarteten Wert direkt mit il und std::forward<Args>(args)....
Diese Überladung nimmt an der Auflösung von Überladungen teil, nur wenn std::is_nothrow_constructible_v<T, std::initializer_list<U>&, Args...> true ist.
3) Wenn *this einen unerwarteten Wert enthält, wird dieser Wert zerstört.

Inhalt

[bearbeiten] Parameter

args - die Argumente, die an den Konstruktor übergeben werden sollen
il - die Initialisierungsliste, die an den Konstruktor übergeben werden soll

[bearbeiten] Rückgabewert

[bearbeiten] Hinweise

Wenn die Konstruktion von T potenziell werfend ist, kann stattdessen operator= verwendet werden.

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

weist Inhalte zu
(public member function) [bearbeiten]