Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::optional<T>::value

      From cppreference.com
      <cpp‎ |utility‎ |optional
       
       
      Utilities library
       
       
      constexpr T& value()&;
      constexprconst T& value()const&;
      (1)(since C++17)
      constexpr T&& value()&&;
      constexprconst T&& value()const&&;
      (2)(since C++17)

      If*this contains a value, returns a reference to the contained value.

      Otherwise, throws astd::bad_optional_access exception.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      A reference to the contained value.

      [edit]Exceptions

      std::bad_optional_access if*this does not contain a value.

      [edit]Notes

      The dereference operatoroperator*() does not check if this optional contains a value, which may be more efficient thanvalue().

      [edit]Example

      Run this code
      #include <iostream>#include <optional> int main(){std::optional<int> opt={}; try{[[maybe_unused]]int n= opt.value();}catch(conststd::bad_optional_access& e){std::cout<< e.what()<<'\n';} try{        opt.value()=42;}catch(conststd::bad_optional_access& e){std::cout<< e.what()<<'\n';}     opt=43;std::cout<<*opt<<'\n';     opt.value()=44;std::cout<< opt.value()<<'\n';}

      Output:

      bad optional accessbad optional access4344

      [edit]See also

      returns the contained value if available, another value otherwise
      (public member function)[edit]
      accesses the contained value
      (public member function)[edit]
      exception indicating checked access to an optional that doesn't contain a value
      (class)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/optional/value&oldid=171476"

      [8]ページ先頭

      ©2009-2025 Movatter.jp