GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • cpprefjp - C++日本語リファレンス
  • GitHub Project

This view

  • Original page
  • New address

GeezerVison is showing cpprefjp.github.io — std::optional::reset - cpprefjp C++日本語リファレンス

  1. リファレンス
  2. optional
  3. optional
  4. reset

最終更新日時: 2026年09月11日 13時06分31秒 (JST)
Akira Takahashi が更新

履歴 編集

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

処理系

  • Clang: 4.0.1 ✅
  • GCC: 7.2 ✅
  • Visual C++: ??

関連項目

  • std::vectorクラスのデストラクタ
  • std::is_trivially_destructible
  • P2231R1 Missing constexpr in std::optional and std::variant
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.