名前空間
変種
操作

std::optional<T>::value

提供: cppreference.com
< cpp‎ | utility‎ | optional
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
 
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() よりも効率が良いかもしれません。

[編集]

#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

[編集]関連項目

利用可能であれば格納されている値を返し、そうでなければ別の値を返します
(パブリックメンバ関数)[edit]
格納されている値にアクセスします
(パブリックメンバ関数)[edit]
値を格納していない optional へのチェック付きアクセスを表す例外
(クラス)[edit]
close