std::optional<T>::value
提供: cppreference.com
constexpr T& value()&; constexprconst T & value()const&; | (1) | (C++17以上) |
constexpr T&& value()&&; constexprconst T&& value()const&&; | (2) | (C++17以上) |
*this が値を格納していれば、その格納されている値を指す参照を返します。
そうでなければ、 std::bad_optional_access 例外が投げられます。
目次 |
[編集]引数
(なし)
[編集]戻り値
格納されている値を指す参照。
[編集]例外
*this が値を格納していない場合は std::bad_optional_access。
[編集]ノート
逆参照演算子 operator*() は、この optional が値を格納しているかどうかチェックしません。 そのため value()
よりも効率が良いかもしれません。
[編集]例
Run this code
#include <optional>#include <iostream>int main(){std::optional<int> opt ={}; try{int n = opt.value();}catch(conststd::bad_optional_access& e){std::cout<< e.what()<<'\n';}}
出力例:
bad optional access
[編集]関連項目
利用可能であれば格納されている値を返し、そうでなければ別の値を返します (パブリックメンバ関数) | |
格納されている値にアクセスします (パブリックメンバ関数) | |
(C++17) | 値を格納していない optional へのチェック付きアクセスを表す例外 (クラス) |