std::experimental::optional<T>::value
来自 cppreference.com
< cpp | experimental | optional
constexpr T& value() &; constexpr const T & value() const &; |
(1) | (库基础 TS) |
constexpr T&& value() &&; constexpr const T&& value() const &&; |
(2) | (库基础 TS) |
返回包含的值。
1) 等效于 return bool(*this) ? *val : throw bad_optional_access();.
2) 等效于 return bool(*this) ? std::move(*val) : throw bad_optional_access();.
内容 |
[编辑] 参数
(无)
[编辑] 返回值
对包含值的引用。
[编辑] 异常
std::experimental::bad_optional_access 如果 *this 不包含值。
[编辑] 备注
解除引用运算符 operator*() 不检查此可选是否包含值,这可能比 value()
更有效。
[编辑] 示例
运行此代码
#include <experimental/optional> #include <iostream> int main() { std::experimental::optional<int> opt = {}; try { int n = opt.value(); } catch (const std::logic_error& e) { std::cout << e.what() << '\n'; } }
可能的输出
optional<T>::value: not engaged
[编辑] 另请参阅
如果可用,则返回包含的值,否则返回另一个值 (公共成员函数) | |
访问包含的值 (公共成员函数) | |
(库基础 TS) |
指示已检查对不包含值的可选的访问的异常 (类) |