std::optional
Posted osbreak
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了std::optional相关的知识,希望对你有一定的参考价值。
std::optional有一个类似于智能指针的接口,
它可以显式转化为bool来表示std::optional是否有一个值。
指针的解引用操作符*和->都实现了,
但是没有std::bad_optional_access,用这种方式访问一个空的std::optional是一个未定义的行为。
reset()清除std::optional包含的对象,让它为空。
int main() { std::string text = "123"; std::optional<string> opt = text; if (opt.has_value()) { std::cout << opt.value(); } opt.reset(); system("pause"); }
以上是关于std::optional的主要内容,如果未能解决你的问题,请参考以下文章
使用 std::optional 通过引用将 std::vector<int> 传递给函数
将一个 std::optional 转换为另一个 std::optional