Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
Patron principal
template< class... Args >
constexpr T& emplace( Args&&... args ) noexcept;
(1) (depuis C++23)
template< class U, class... Args >
constexpr T& emplace( std::initializer_list<U> il, Args&&... args ) noexcept;
(2) (depuis C++23)
void spécialisation partielle
constexpr void emplace() noexcept;
(3) (depuis C++23)

Construit une valeur attendue (expected) sur place. Après l'appel, has_value() renvoie true.

1) Détruit la valeur contenue, puis initialise directement la valeur attendue contenue dans *this avec std::forward<Args>(args)....
Cette surcharge participe à la résolution de surcharge uniquement si std::is_nothrow_constructible_v<T, Args...> est true.
2) Détruit la valeur contenue, puis initialise directement la valeur attendue contenue dans *this avec il et std::forward<Args>(args)....
Cette surcharge participe à la résolution de surcharge uniquement si std::is_nothrow_constructible_v<T, std::initializer_list<U>&, Args...> est true.
3) Si *this contient une valeur inattendue, détruit cette valeur.

Paramètres

args - les arguments à passer au constructeur
il - la liste d'initialisation à passer au constructeur

Valeur de retour

2) * std:: construct_at ( std:: addressof ( val ) , il, std:: forward < Args > ( args ) ... )

Notes

Si la construction de T est potentiellement levante d'exception, operator= peut être utilisé à la place.

Exemple

Voir aussi

assigne le contenu
(fonction membre publique)