我从可变参数模板函数
创建了std::tuple
std::tuple<Args&...> mytup(args...);
args
中的每个对象都定义了一个类型value_type
。
现在,我想创建一个名为std::tuple
的{{1}} mynewtup
,其长度与mytup
相同,但类型不同value_type
。此外,每个args
都有一个方法f()
,它返回value_type
,并且需要创建mynewtup
来调用该函数。
换句话说,我想做(伪代码)
之类的事情std::tuple<typename args1::value_type,....> mynewtup(args1.f(),....);
有可能吗?怎么样?
答案 0 :(得分:2)
只需使用std::make_tuple
,如下所示:
auto mynewtup = std::make_tuple(args.f()...);