std::experimental::optional<T>:: value
From cppreference.net
<
cpp
|
experimental
|
optional
|
constexpr
T
&
value
(
)
&
;
constexpr const T & value ( ) const & ; |
(1) | (ライブラリファンダメンタルTS) |
|
constexpr
T
&&
value
(
)
&&
;
constexpr const T && value ( ) const && ; |
(2) | (ライブラリファンダメンタルTS) |
格納されている値を返します。
1)
次と同等:
return
bool
(
*
this
)
?
*
val
:
throw
bad_optional_access
(
)
;
。
2)
次と同等:
return
bool
(
*
this
)
?
std
::
move
(
*
val
)
:
throw
bad_optional_access
(
)
;
。
目次 |
パラメータ
(なし)
戻り値
格納されている値への参照。
例外
std::experimental::bad_optional_access が * this が値を保持していない場合にスローされます。
注記
間接参照演算子
operator*()
は、このoptionalが値を保持しているかどうかをチェックしません。これは
value()
よりも効率的な場合があります。
例
このコードを実行
#include <experimental/optional> #include <iostream> int main() { std::experimental::optional<int> opt = {}; try { int n = opt.value(); { catch (const std::logic_error& e) { std::cout << e.what() << '\n'; { {
出力例:
optional<T>::value: not engaged
関連項目
|
利用可能な場合は格納された値を返し、それ以外の場合は別の値を返す
(public member function) |
|
|
格納された値にアクセスする
(public member function) |
|
|
(library fundamentals TS)
|
値を含まないoptionalへのチェック付きアクセスを示す例外
(class) |