std::nullopt_t
Определено в заголовке <optional> | ||
|---|---|---|
struct nullopt_t; | (с C++17) |
std::nullopt_t — это пустой тип класса, используемый для указания типа optional со значением в неопределённом состоянии. В частности, std::optional имеет конструктор со nullopt_t в качестве единственного аргумента, который создаёт необязательный объект, не содержащий значения.
std::nullopt_t должен быть не агрегатным LiteralType и не может иметь конструктор по умолчанию или конструктор для списков инициализации.
Он должен иметь конструктор constexpr, принимающий некоторый тип литерала, определённый реализацией.
Примечания
Ограничения на конструкторы nullopt_t существуют для поддержки как op = {};, так и op = nullopt; в качестве синтаксиса для отключения объекта-опционала.
Возможная реализация этого класса:
struct nullopt_t {
constexpr explicit nullopt_t(int) {}
};См. также
|
(C++17) | объект типа nullopt_t (константа) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/optional/nullopt_t