std::experimental::optional<T>:: emplace
From cppreference.net
<
cpp
|
experimental
|
optional
|
template
<
class
...
Args
>
void emplace ( Args && ... args ) ; |
(库基础技术规范) | |
|
template
<
class
U,
class
...
Args
>
void emplace ( std:: initializer_list < U > ilist, Args && ... args ) ; |
(库基础技术规范) | |
在适当位置构造所含值。若调用前 * this 已包含值,则通过调用其析构函数销毁所含值。
2)
通过使用
ilist,
std::
forward
<
Args
>
(
args
)
...
作为参数调用其构造函数来初始化所含值。此重载仅当
std::
is_constructible
<
T,
std::
initializer_list
<
U
>
&
, Args
&&
...
>
::
value
为
true
时参与重载决议。
目录 |
参数
| args... | - | 传递给构造函数的参数 |
| ilist | - | 传递给构造函数的初始化列表 |
| 类型要求 | ||
-
T
必须可从
Args...
构造
|
||
-
T
必须可从
std::initializer_list
和
Args...
构造
|
||
返回值
(无)
异常
由
T
的选定构造函数抛出的任何异常。如果抛出异常,在此调用后
*
this
将不包含值(先前包含的值,如果存在,已被销毁)。
参见
|
赋值内容
(公开成员函数) |