std::experimental::optional<T>:: emplace
From cppreference.net
<
cpp
|
experimental
|
optional
|
template
<
class
...
Args
>
void emplace ( Args && ... args ) ; |
(biblioteca fundamentals TS) | |
|
template
<
class
U,
class
...
Args
>
void emplace ( std:: initializer_list < U > ilist, Args && ... args ) ; |
(biblioteca fundamentals TS) | |
Construye el valor contenido en el lugar. Si * this ya contiene un valor antes de la llamada, el valor contenido se destruye llamando a su destructor.
1)
Inicializa el valor contenido mediante
inicialización directa
(pero no inicialización directa de lista) con
std::
forward
<
Args
>
(
args
)
...
como parámetros.
2)
Inicializa el valor contenido llamando a su constructor con
ilist,
std::
forward
<
Args
>
(
args
)
...
como parámetros. Esta sobrecarga participa en la resolución de sobrecarga solo si
std::
is_constructible
<
T,
std::
initializer_list
<
U
>
&
, Args
&&
...
>
::
value
es
true
.
Contenidos |
Parámetros
| args... | - | los argumentos a pasar al constructor |
| ilist | - | la lista de inicializadores a pasar al constructor |
| Requisitos de tipo | ||
-
T
debe ser construible desde
Args...
|
||
-
T
debe ser construible desde
std::initializer_list
y
Args...
|
||
Valor de retorno
(ninguno)
Excepciones
Cualquier excepción lanzada por el constructor seleccionado de
T
. Si se lanza una excepción,
*
this
no contiene un valor después de esta llamada (el valor contenido previamente, si existía, ha sido destruido).
Véase también
|
asigna contenidos
(función miembro pública) |