std::nullopt_t
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <optional>
|
||
struct nullopt_t; |
(начиная с C++17) | |
std::nullopt_t пустой тип класса, используемый для указания типа optional с неинициализированным состоянием. В частности, std::optional имеет конструктор с nullopt_t в качестве единственного аргумента, который создаёт необязательный параметр, не содержащий значения.
std::nullopt_t должен быть неагрегатным LiteralType и не может иметь конструктор по умолчанию или конструктор из списка инициализаторов.
Он должен иметь конструктор constexpr, который принимает некоторый литеральный тип, определяемый реализацией.
Примечание
Существуют ограничения на конструкторы nullopt_t для поддержки как op = {};, так и op = nullopt; в качестве синтаксиса для отключения объекта optional.
Возможная реализация этого класса
struct nullopt_t {
constexpr explicit nullopt_t(int) {}
};
Смотрите также
(C++17) |
объект типа nullopt_t (константа) |