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

履歴 編集

function
<expected>

std::expected::operator bool(C++23)

constexpr explicit operator bool() const noexcept;

概要

正常値を保持しているかを判定する。

戻り値

正常値を保持しているならtrueを返し、エラー値を保持しているならfalseを返す。

例外

投げない

#include <expected>
#include <iostream>
#include <string>

int main()
{
  std::expected<std::string, int> x = "Hello";
  if (x) {
    std::cout << "val=" << *x << std::endl;
  } else {
    std::cout << "unex=" << x.error() << std::endl;
  }

  std::expected<std::string, int> y = std::unexpected{42};
  if (y) {
    std::cout << "val=" << *y << std::endl;
  } else {
    std::cout << "unex=" << y.error() << std::endl;
  }
}

出力

val=Hello
unex=42

バージョン

言語

  • C++23

処理系

関連項目

参照