C++/標準ライブラリ/expected
表示
C++教科書/標準ライブラリ編/<expected>の章
[編集]C++標準ライブラリ <expected> ヘッダー
[編集]概要
[編集]<expected>
ヘッダーは、C++23で導入された新しいヘッダーであり、値またはエラー状態を表す expected
型を提供します。この型は、関数や演算子の戻り値として使用することで、エラー処理を簡潔かつ効率的に行うことができます。
expected 型
[編集]expected
型は、T
型の値または std::error_code
型のエラー状態を持つことができます。型パラメータ T
は、任意の型を指定することができます。
- C++
template <typename T> class expected;
expected
型の値は、以下のいずれかの方法で生成できます。
std::make_expected(T)
関数を使用して、値を直接生成するstd::unexpected()
関数を使用して、エラー状態を生成する- 関数や演算子の戻り値として受け取る
expected
型の値には、以下のメソッドが用意されています。
value()
メソッド: 値を取得するerror()
メソッド: エラー状態を取得するhas_value()
メソッド: 値を持っているかどうかを確認するor_else(T)
メソッド: エラー状態の場合にデフォルト値を返すand_then(std::function<expected<U>(T)>)
メソッド: 値を持っている場合に別のexpected
型を生成する
国際規格の定義
[編集]<expected>
ヘッダーは、C++23の国際規格 ISO/IEC 14882:2023 で定義されています。
まとめ
[編集]<expected>
ヘッダーは、C++23で導入された新しいヘッダーであり、値またはエラー状態を表す expected
型を提供します。この型は、関数や演算子の戻り値として使用することで、エラー処理を簡潔かつ効率的に行うことができます。
expected
型は、C++におけるエラー処理の新しい標準的な方法であり、今後ますます多くのライブラリやアプリケーションで使用されることが期待されています。