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 起) |
void 偏特化 |
||
constexpr void value() const&; |
(5) | (C++23 起) |
constexpr void value() &&; |
(6) | (C++23 起) |
如果 *this 包含預期值,則返回對所含值的引用。對於 void 部分特化,不返回任何內容。
否則,丟擲型別為 std::bad_expected_access<std::decay_t<E>> 的異常,其中包含 error()
的副本。
3,4) 如果 std::is_copy_constructible_v<E> 或 std::is_constructible_v<E, decltype(std::move(error()))> 為 false,則程式格式不正確。
目錄 |
[edit] 返回值
1,2)
val
3,4) std::move(
val
)[edit] 異常
[edit] 示例
本節不完整 原因:無示例 |
[edit] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3940 | C++23 | 對於過載 (5,6),E 不再要求是可複製/可移動構造的。 |
需要 |
[edit] 參閱
如果存在,返回預期值;否則返回另一個值 (公共成員函式) | |
訪問預期值 (公共成員函式) | |
返回非預期值 (公共成員函式) | |
(C++23) |
表示對包含非預期值的 expected 進行檢查訪問時丟擲的異常(類模板) |