std::experimental::optional<T>::emplace
From cppreference.com
< cpp | experimental | optional
| template< class... Args > void emplace( Args&&... args ); |
(Library Fundamentals TS) | |
| template< class U, class... Args > void emplace( std::initializer_list<U> ilist, Args&&... args ); |
(Library Fundamentals 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 のコンストラクタによってスローされる例外。
[編集] 関連項目
| 内容を代入する (public member function) |