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

履歴 編集

function
<optional>

std::optional::reset(C++17)

void reset() noexcept;           // (1) C++17
constexpr void reset() noexcept; // (1) C++23

概要

有効値を保持していない状態にする。

効果

有効値を保持している場合、型Tが非トリビアルなデストラクタを持っているならデストラクタを呼び出す。有効値を保持していない場合は、なにもしない。

事後条件

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

備考

この関数は、スマートポインタとの統一インタフェースのためにある (例として、std::shared_ptrクラスにreset()メンバ関数がある)。

効果としては、std::optionalクラスのオブジェクトにstd::nulloptを代入することと、等価である。

#include <cassert>
#include <optional>

int main()
{
  // 有効値3を代入
  std::optional<int> p = 3;

  // 有効値を保持していない状態にする
  p.reset();
  assert(!p);
}

出力

バージョン

言語

  • C++17

処理系

関連項目