std::bad_optional_access
| Определён в заголовке <optional>
|
||
class bad_optional_access;
|
(начиная с C++17) | |
Определяет тип объекта, который будет выброшен std::optional::value при обращении к optional-объекту, не содержащему значения.
Диаграмма наследования
Функции-элементы
(конструктор) |
создаёт новый объект 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().
*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
Функции-элементы
[virtual] |
уничтожает объект исключения (виртуальная открытая функция-элемент из std::exception)
|
[virtual] |
возвращает пояснительную строку (виртуальная открытая функция-элемент из std::exception)
|