std::optional::operator*
| 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二次
另见
| value | returns the contained value (public member function) | 
|---|---|
| value_or | returns the contained value if available, another value otherwise (public member function) | 
 © cppreference.com在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

