std::make_optional
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <optional> で定義
|
||
template< class T > constexpr std::optional<std::decay_t<T>> make_optional( T&& value ); |
(1) | (C++17以上) |
template< class T, class... Args > constexpr std::optional<T> make_optional( Args&&... args ); |
(2) | (C++17以上) |
template< class T, class U, class... Args > constexpr std::optional<T> make_optional( std::initializer_list<U> il, Args&&... args ); |
(3) | (C++17以上) |
1)
value から optional オブジェクトを作成します。 実質的に std::optional<std::decay_t<T>>(std::forward<T>(value)) を呼びます。2)
args... から optional オブジェクトをその場で作成します。 return std::optional<T>(std::in_place, std::forward<Args>(args)...); と同等です。3)
il および args... から optional オブジェクトをその場で作成します。 return std::optional<T>(std::in_place, il, std::forward<Args>(args)...); と同等です。引数
| value | - | optional オブジェクトを構築するための値 |
| il, args | - | T のコンストラクタに渡される引数
|
戻り値
構築された optional オブジェクト。
例外
T のコンストラクタによって投げられるあらゆる例外を投げます。
ノート
コピー省略が保証されるため、オーバーロード (2-3) のために T がムーブ可能である必要はありません。
関連項目
| optional オブジェクトを構築します (パブリックメンバ関数) |