gpt4 book ai didi

c++ - 如何将构造函数参数转发给 boost::optional

转载 作者:搜寻专家 更新时间:2023-10-31 00:25:42 26 4
gpt4 key购买 nike

我有以下简单结构:

struct X
{
X(std::string name, int value): name_(name), value_(value){}

std::string name_;
int value_;
};

我想在不复制的情况下将其与 boost optional 一起使用。这是一个选项:

boost::optional<X> op;
op.emplace("abc", 5);

是否可以不使用 emplace 函数? (我是说一行表达式)

最佳答案

是的,只需使用转发 ctor args 的“就地”标签构建它!

boost::optional<X> op(boost::optional::in_place_init, "abc", 5);

( ref )

FWIW 如果你不介意移动那么这也行:

boost::optional<X> op(X("abc", 5));

向下浏览该引用页;有很多方法可以构建或填充 boost::optional

关于c++ - 如何将构造函数参数转发给 boost::optional,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55460130/

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