std::experimental::optional<T>:: emplace
From cppreference.net
<
cpp
|
experimental
|
optional
|
template
<
class
...
Args
>
void emplace ( Args && ... args ) ; |
(ライブラリ基盤仕様 TS) | |
|
template
<
class
U,
class
...
Args
>
void emplace ( std:: initializer_list < U > ilist, Args && ... args ) ; |
(ライブラリ基盤仕様 TS) | |
格納されている値をその場で構築します。呼び出し前に * 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
はこの呼び出し後に値を保持しません(以前に保持されていた値がある場合は破棄されています)。
関連項目
|
内容を代入
(公開メンバ関数) |