【发布时间】:2013-05-18 18:32:37
【问题描述】:
我想从一个函数返回一些值,我想把它打包成一个元组。所以我有两种可能的函数声明:
std::tuple<bool, string, int> f()
{
...
return std::make_tuple(false, "home", 0);
}
和
std::tuple<bool, string, int> f()
{
...
return std::forward_as_tuple(false, "home", 0);
}
这些函数是等价的吗? 这些功能你更喜欢哪一个?
【问题讨论】:
-
你在转发那些东西吗?不?使用
std::make_tuple。 -
好吧,也不错。但是女巫与 make_tuple 和 forward_as_tuple 有真正的区别吗?
-
@GianLorenzoMeocci:
forward_as_tuple用于当您想要转发通用引用但作为元组时。如果您不知道这意味着什么,请不要使用它。