std::experimental::optional<T>::operator->, std::experimental::optional<T>::operator*
来自 cppreference.com
< cpp | experimental | optional
constexpr const T* operator->() const; |
(1) | (库基础 TS) |
constexpr T* operator->(); |
(1) | (库基础 TS) |
constexpr const T& operator*() const&; |
(2) | (库基础 TS) |
constexpr T& operator*() &; |
(2) | (库基础 TS) |
constexpr const T&& operator*() const&&; |
(2) | (库基础 TS) |
constexpr T&& operator*() &&; |
(2) | (库基础 TS) |
访问包含的值。
1) 返回指向包含值的指针。
2) 返回对包含值的引用。
如果*this不包含值,则行为未定义。
内容 |
[编辑] 参数
(无)
[编辑] 返回值
指向包含值的指针或引用。
[编辑] 异常
不抛出任何异常。
[编辑] 注释
此运算符不会检查可选对象是否包含值。如果需要检查访问,可以使用value()或value_or()。
[编辑] 示例
运行此代码
#include <experimental/optional> #include <iostream> #include <string> using namespace std::literals; int main() { std::experimental::optional<int> opt1 = 1; std::cout << *opt1 << '\n'; std::experimental::optional<std::string> opt2 = "abc"s; std::cout << opt2->size() << '\n'; }
输出
1 3
[编辑] 参见
返回包含的值 (公共成员函数) | |
如果可用,返回包含的值;否则返回另一个值 (公共成员函数) |