Namespaces
Variants

std::bad_optional_access

С сайта 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)
 
 
Определён в заголовке <optional>
class bad_optional_access;
(начиная с C++17)

Определяет тип объекта, который будет выброшен std::optional::value при обращении к optional-объекту, не содержащему значения.

cpp/error/exception

Диаграмма наследования

Функции-элементы

(конструктор)
создаёт новый объект bad_optional_access
(открытая функция-элемент)
operator=
заменяет объект bad_optional_access
(открытая функция-элемент)
what
возвращает пояснительную строку
(открытая функция-элемент)

std::bad_optional_access::bad_optional_access

bad_optional_access() noexcept;
(1) (начиная с C++17)
bad_optional_access( const bad_optional_access& other ) noexcept;
(2) (начиная с C++17)

Создаёт новый объект bad_optional_access с определяемой реализацией строкой байтов, завершающейся нулём, доступной через what().

1) Конструктор по умолчанию.
2) Конструктор копирования. Если *this и other оба имеют динамический тип std::bad_optional_access, то std::strcmp(what(), other.what()) == 0.

Параметры

other - другой объект исключения для копирования

std::bad_optional_access::operator=

bad_optional_access& operator=( const bad_optional_access& other ) noexcept;
(начиная с C++17)

Присваивает содержимое из other. Если *this и other оба имеют динамический тип std::bad_optional_access, то std::strcmp(what(), other.what()) == 0 после присваивания.

Параметры

other - другой объект исключения для присваивания

Возвращаемое значение

*this

std::bad_optional_access::what

virtual const char* what() const noexcept;
(начиная с C++17)

Возвращает пояснительную строку.

Возвращаемое значение

Указатель на определяемую реализацией строку, завершающуюся нулём, с пояснительной информацией. Строка подходит для преобразования и отображения как std::wstring. Гарантируется, что указатель действителен по крайней мере до тех пор, пока объект исключения, из которого он получен, не будет уничтожен, или пока не будет вызвана неконстантная функция-элемент (например, оператор присваивания копированием) для объекта исключения.

Возвращаемая строка закодирована с использованием обычной литеральной кодировки во время константного вычисления.

(начиная с C++26)

Примечания

Реализациям разрешено, но не требуется, переопределять what().

Унаследовано от std::exception

Функции-элементы

уничтожает объект исключения
(виртуальная открытая функция-элемент из std::exception)
[virtual]
возвращает пояснительную строку
(виртуальная открытая функция-элемент из std::exception)