Spec-Zone.ru › C++

std::bad_optional_access

Определено в заголовке <optional>
class bad_optional_access;
(с C++17)

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

cpp/error/exceptionstd-bad optional access-inheritance-lwg2806.svg

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

Члены-функции

(конструктор)
создает новый объект 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. Указатель гарантированно действителен по крайней мере до тех пор, пока объект исключения, из которого он получен, не будет уничтожен, или пока не будет вызвана неконстантная член-функция (например, оператор копирования присваивания) для объекта исключения.

Примечания

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

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

Члены-функции

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/optional/bad_optional_access

Spec-Zone.ru

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