最終更新日時(UTC):
が更新

履歴 編集

function
<optional>

std::optional::operator->(C++17)

constexpr const T* operator->() const;
constexpr T* operator->();

概要

保持している有効値のメンバにアクセスする。

要件

*thisが有効な値を保持していること

戻り値

保持している有効値へのポインタを返す。

例外

投げない

備考

optionalクラスはスマートポインタとしても見なせるため、この演算子のようなポインタのインタフェースを持つ。非ポインタインタフェースであるvalue()の使用も検討するとよい。

#include <iostream>
#include <optional>
#include <string>

int main()
{
  std::optional<std::string> p = "Hello";
  if (p) {
    std::size_t size = p->size(); // 有効値のメンバ関数を呼び出す
    std::cout << size << std::endl;
  }
}

出力

5

バージョン

言語

  • C++17

処理系

関連項目

参照