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");
}

 

相关文章:

  • 2021-12-01
  • 2021-07-18
  • 2021-12-25
  • 2022-02-01
  • 2021-07-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-07
  • 2021-06-06
  • 2022-02-06
  • 2021-10-29
相关资源
相似解决方案