std::expected<T,E>::value
来自cppreference.com
constexpr T& value() &; |
(1) | (C++23 起) |
constexpr const T& value() const&; |
(2) | (C++23 起) |
constexpr T&& value() &&; |
(3) | (C++23 起) |
constexpr const T&& value() const&&; |
(4) | (C++23 起) |
1,2) 如果 *this 包含期待值,那么(通过复制)返回该期待值,或者在
T
是(可有 cv 限定的)bool 时无返回值。 否则,抛出包含 *this 中不期待值的 std::bad_expected_access 异常。
如果 std::is_copy_constructible_v<E> 是 false,那么程序非良构。
3,4) 如果 *this 包含期待值,那么(通过移动)返回该期待值,或者在
T
是(可有 cv 限定的)bool 时无返回值。 否则,抛出包含 *this 中不期待值的 std::bad_expected_access 异常。
如果 std::is_copy_constructible_v<E> 或 std::is_constructible_v<E, decltype(std::move(error()))> 是 false,那么程序非良构。
参数
(无)
返回值
1-4) *this 包含的期待值。
异常
3,4) 在 *this 包含不期待值时抛出 std::bad_expected_access(std::move(error()))。
示例
本节未完成 原因:暂无示例 |
参阅
如果有期待的值则返回它,否则返回另一个值 (公开成员函数) | |
返回期待的值 (公开成员函数) | |
返回不期待的值 (公开成员函数) | |
(C++23) |
指示对含有不期待的值的 expected 的有检查访问的异常 (类模板) |