Namespaces
Variants

std::nullopt_t

на ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
Функции сравнения целых чисел
(C++20)(C++20)(C++20)    
(C++20)
Обмен и операции над типами
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие типы-словари
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
Определён в заголовочном файле <optional>
struct nullopt_t;
(начиная с C++17)

std::nullopt_t — это пустой тип класса, используемый для указания того, что std::optional не содержит значения.

std::nullopt_t — это неагрегатный LiteralType, не имеющий конструктора по умолчанию, конструктора со списком инициализации, но имеющий constexpr конструктор, который принимает определяемый реализацией литеральный тип.

Примечания

Ограничения на конструкторы nullopt_t существуют для поддержки как op = { } ; так и op = nullopt ; в качестве синтаксиса для освобождения опционального объекта.

Возможная реализация этого класса выглядит следующим образом

struct nullopt_t {
    constexpr explicit nullopt_t(int) {}
};

Смотрите также

(C++17)
объект типа nullopt_t
(константа)