在另一个 std::tuple 中创建类型 "contained" 的 std::tuple

Create std::tuple of types "contained" in another std::tuple

我有一个 std::tuple 从可变模板函数创建的

std::tuple<Args&...> mytup(args...);

args 中的每个对象都定义了一个类型 value_type

现在,我想创建一个名为 mynewtupstd::tuple,其长度与 mytup 相同,但类型不同 value_type。此外,每个 args 都有一个方法 f() 需要创建 return 一个 value_typemynewtup 来调用该函数。

换句话说,我想做类似(伪代码)

std::tuple<typename args1::value_type,....> mynewtup(args1.f(),....);

可以吗?怎么样?

只需使用std::make_tuple如下:

auto mynewtup = std::make_tuple(args.f()...);