std::experimental::optional<T>:: emplace
From cppreference.net
<
cpp
|
experimental
|
optional
|
template
<
class
...
Args
>
void emplace ( Args && ... args ) ; |
(spécifications techniques des bibliothèques fondamentales) | |
|
template
<
class
U,
class
...
Args
>
void emplace ( std:: initializer_list < U > ilist, Args && ... args ) ; |
(spécifications techniques des bibliothèques fondamentales) | |
Construit la valeur contenue sur place. Si * this contient déjà une valeur avant l'appel, la valeur contenue est détruite en appelant son destructeur.
1)
Initialise la valeur contenue par
initialisation directe
(mais pas l'initialisation directe de liste) avec
std::
forward
<
Args
>
(
args
)
...
comme paramètres.
2)
Initialise la valeur contenue en appelant son constructeur avec
ilist,
std::
forward
<
Args
>
(
args
)
...
comme paramètres. Cette surcharge participe à la résolution de surcharge seulement si
std::
is_constructible
<
T,
std::
initializer_list
<
U
>
&
, Args
&&
...
>
::
value
est
true
.
Table des matières |
Paramètres
| args... | - | les arguments à passer au constructeur |
| ilist | - | la liste d'initialisation à passer au constructeur |
| Exigences de type | ||
-
T
doit être constructible à partir de
Args...
|
||
-
T
doit être constructible à partir de
std::initializer_list
et
Args...
|
||
Valeur de retour
(aucun)
Exceptions
Toute exception levée par le constructeur sélectionné de
T
. Si une exception est levée,
*
this
ne contient pas de valeur après cet appel (la valeur précédemment contenue, le cas échéant, a été détruite).
Voir aussi
|
assigne le contenu
(fonction membre publique) |