首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::optional::operators

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()可能会被使用。

二次

代码语言:javascript
复制
#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';
}

二次

产出:

二次

代码语言:javascript
复制
1
3

二次

另见

value

returns the contained value (public member function)

value_or

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

代码语言:txt
复制
 © cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券