|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Observers | ||||
optional::operator booloptional::has_value | ||||
| Iterators | ||||
(C++26) | ||||
(C++26) | ||||
| Monadic operations | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
| Helper objects | ||||
constexprexplicit operatorbool()constnoexcept; | (since C++17) | |
constexprbool has_value()constnoexcept; | (since C++17) | |
Checks whether*this contains a value.
true if*this contains a value,false if*this does not contain a value.
#include <iostream>#include <optional> int main(){std::cout<<std::boolalpha; std::optional<int> opt;std::cout<< opt.has_value()<<'\n'; opt=43;if(opt)std::cout<<"value set to "<< opt.value()<<'\n';elsestd::cout<<"value not set\n"; opt.reset();if(opt.has_value())std::cout<<"value still set to "<< opt.value()<<'\n';elsestd::cout<<"value no longer set\n";}
Output:
falsevalue set to 43value no longer set
| checks whether the object contains an expected value (public member function of std::expected<T,E>)[edit] |