|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Observers | ||||
| Iterators | ||||
(C++26) | ||||
(C++26) | ||||
| Monadic operations | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
nullopt_t | ||||
| Helper objects | ||||
Defined in header <optional> | ||
struct nullopt_t; | (since C++17) | |
std::nullopt_t is an empty class type used to indicate that anstd::optional does not contain a value.
std::nullopt_t is a non-aggregateLiteralType that has no default constructor, no initializer-list constructor, but does have aconstexpr constructor that takes an implementation-defined literal type.
The constraints onnullopt_t's constructors exist to support bothop={}; andop= nullopt; as the syntax for disengaging an optional object.
A possible implementation of this class is
struct nullopt_t{constexprexplicit nullopt_t(int){}};
(C++17) | an object of typenullopt_t(constant)[edit] |