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

std::optional::operator*

可选::操作符->,std::可选::Operator%2A

constexpr const T* operator->() const;(1)(since C++17)
constexpr T* operator->((1)(since C++17)
constexpr const T& operator*() const&;(2)(since C++17)
constexpr T& operator*() &;(2)(since C++17)
constexpr const T&& operator*() const&&;(2)(since C++17)
constexpr T&& operator*() &&;(2)(since C++17)

访问包含的值。

1%29返回指向包含的值的指针。

2%29返回对包含的值的引用。

如果*this不包含值。

参数

%280%29

返回值

指针或对包含的值的引用。

例外

%280%29

注记

此运算符不检查可选选项是否包含值。如果需要检查访问,value()value_or()可能会被使用。

二次

#include <optional> #include <iostream> #include <string> int main() { using namespace std::string_literals; std::optional<int> opt1 = 1; std::cout << *opt1 << '\n'; std::optional<std::string> opt2 = "abc"s; std::cout << opt2->size() << '\n'; }

二次

产出:

二次

1 3

二次

另见

valuereturns the contained value (public member function)
value_orreturns the contained value if available, another value otherwise (public member function)

© cppreference.com

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

http://en.cppreference.com/w/cpp/实用程序/可选/操作符[医]星[医]