std::experimental::optional<T>::operator->, std::experimental::optional<T>::operator*
From cppreference.com
< cpp | experimental | optional
| constexpr const T* operator->() const; |
(1) | (Library Fundamentals TS) |
| constexpr T* operator->(); |
(1) | (Library Fundamentals TS) |
| constexpr const T& operator*() const&; |
(2) | (Library Fundamentals TS) |
| constexpr T& operator*() &; |
(2) | (Library Fundamentals TS) |
| constexpr const T&& operator*() const&&; |
(2) | (Library Fundamentals TS) |
| constexpr T&& operator*() &&; |
(2) | (Library Fundamentals TS) |
格納された値にアクセスします。
1) 格納された値へのポインタを返します。
2) 格納された値への参照を返します。
もし *this が値を格納していない場合、動作は未定義です。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
格納された値へのポインタまたは参照。
[編集] 例外
何もスローしません。
[編集] 注意
この演算子は、optionalが値を格納しているかどうかをチェックしません。チェック付きアクセスが必要な場合は、value() または value_or() を使用できます。
[編集] 例
このコードを実行
#include <experimental/optional> #include <iostream> #include <string> using namespace std::literals; int main() { std::experimental::optional<int> opt1 = 1; std::cout << *opt1 << '\n'; std::experimental::optional<std::string> opt2 = "abc"s; std::cout << opt2->size() << '\n'; }
出力
1 3
[編集] 関連項目
| 保持されている値を返す (public member function) | |
| 保持されている値が利用可能であればそれを返し、そうでなければ別の値を返す (public member function) |