gpt4 book ai didi

c++ - 我可以使用 std::optional 进行错误处理吗?

转载 作者:可可西里 更新时间:2023-11-01 17:58:11 24 4
gpt4 key购买 nike

<分区>

使用 C++17 我们得到了 std::optional这是表达可空类型的有用包装器。

我可以用它来处理错误吗?这样做很有吸引力:

optional<int> Compute()
{
//... compute something valid...
return std::nullopt; // error!
}

这会是一个不错的选择吗?返回空指针不一样吗?

人们报告的问题是,如果发生错误,您会丢失一条消息。所以返回一些状态码可能会更好。

其他选择:

  • std::variant<Value, errorCode>
  • std::pair<Value, errorCode
  • 返回错误代码并有一个值作为输出参数
  • 抛出异常

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com