在线文档教程
C++
应用 | Utilities

std::optional::value

STD::可选::Value

constexpr T& value() &; constexpr const T & value() const &;(1)(since C++17)
constexpr T&& value() &&; constexpr const T&& value() const &&;(2)(since C++17)

如果*this包含值,则返回对包含的值的引用。

否则,抛出一个std::bad_optional_access例外。

参数

%280%29

返回值

对包含的值的引用。

例外

std::bad_optional_access如果*this不包含值。

注记

去引用算子operator*()不检查此可选选项是否包含一个值,该值可能比value()...

二次

#include <optional> #include <iostream> int main() { std::optional<int> opt = {}; try { int n = opt.value( } catch(const std::logic_error& e) { std::cout << e.what() << '\n'; } }

二次

可能的产出:

二次

optional<T>::value: not engaged

二次

另见

value_orreturns the contained value if available, another value otherwise (public member function)
operator->operator*accesses the contained value (public member function)
bad_optional_access (C++17)exception indicating checked access to an optional that doesn't contain a value (class)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/实用程序/可选/值