std::make_optional
提供: cppreference.com
ヘッダ <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 オブジェクトを構築します (パブリックメンバ関数) |