std::bad_optional_access
From cppreference.com
| ヘッダ <optional> で定義 |
||
| class bad_optional_access; |
(C++17以降) | |
値を含まない `optional` オブジェクトにアクセスした場合にスローされるオブジェクトの型を定義します。
継承図
目次 |
[編集] メンバ関数
| (コンストラクタ) |
新しい `bad_optional_access` オブジェクトを構築します。 (public member function) |
| operator= |
`bad_optional_access` オブジェクトを置き換えます。 (public member function) |
| what |
説明文字列を返す (public member function) |
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` となります。
パラメータ
| その他 | - | コピーする別の例外オブジェクト |
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` となります。
パラメータ
| その他 | - | 割り当てる別の例外オブジェクト |
戻り値
*this
std::bad_optional_access::what
virtual const char* what() const noexcept; |
(C++17以降) | |
説明文字列を返します。
戻り値
説明情報を含む、実装定義のヌル終端文字列へのポインタ。この文字列は std::wstring として変換および表示するのに適しています。このポインタは、それが取得された例外オブジェクトが破棄されるか、例外オブジェクトの非 const メンバー関数(例:コピー代入演算子)が呼び出されるまで、少なくとも有効であることが保証されます。
|
返された文字列は、定数評価中に通常のリテラルエンコーディングでエンコードされます。 |
(C++26以降) |
注釈
実装は what() をオーバーライドすることが許可されていますが、必須ではありません。
std::exception から継承
メンバ関数
| [virtual] |
例外オブジェクトを破棄する ( std::exception の仮想 public メンバー関数) |
| [virtual] |
説明文字列を返す ( std::exception の仮想 public メンバー関数) |