std::experimental::optional<T>::operator->, std::experimental::optional<T>::operator*
來自 cppreference.com
< cpp | experimental | optional
constexpr const T* operator->() const; |
(1) | (庫基礎 TS) |
constexpr T* operator->(); |
(1) | (庫基礎 TS) |
constexpr const T& operator*() const&; |
(2) | (庫基礎 TS) |
constexpr T& operator*() &; |
(2) | (庫基礎 TS) |
constexpr const T&& operator*() const&&; |
(2) | (庫基礎 TS) |
constexpr T&& operator*() &&; |
(2) | (庫基礎 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) |