名稱空間
變體
操作

std::experimental::optional<T>::operator->, std::experimental::optional<T>::operator*

來自 cppreference.com
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (concurrency TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
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) [編輯]