gpt4 book ai didi

c++ - boost::optional 与 boost::make_optional

转载 作者:行者123 更新时间:2023-12-05 09:05:40 27 4
gpt4 key购买 nike

我想更好地理解使用 default 构造函数创建 boost::optional 对象的区别:

boost::optional<PastaType> pasta = boost::optional<PastaType>(spaghetti)

或使用make_optional 版本:

boost::optional<PastaType> pasta = boost::make_optional<PastaType>(spaghetti)

环顾四周,我只是了解到 make_optional 版本 PastaType 不能是引用类型,但我想弄清楚何时使用其中一个或另一个更好。

谢谢!

最佳答案

make_optional 是一个便利或辅助函数,可以通过推断 optional 的模板参数来减少您必须编写的代码量。这两种方法在功能上是等效的。

auto pasta = boost::make_optional(spaghetti);

关于c++ - boost::optional 与 boost::make_optional,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66908075/

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