std::nullopt_t
Материал из cppreference.com
Определено в заголовочном файле <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 (константа) |