Spec-Zone.ru › C++

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) {}
};

См. также

nullopt
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API