std::optional::operators
可选::操作符->,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
二次
另见
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。