小编Pyc*_*rax的帖子

如何使用数字索引转换 varadic std::tuple 的所有元素?

目前,我有一个这样的实现,以便使用bar()接收元组每个元素的函数来转换元组的所有值。

template<typename ... Args>
void foo(const std::tuple<Args...>& a)
{
    std::tuple<Args...> transformedTuple = std::make_tuple(bar(std::get<Args>(a))...);
}
Run Code Online (Sandbox Code Playgroud)

这样做的问题是,如果Args包含重复类型,这将不再起作用。因此,我想将std::get<>调用更改为在元组中使用数字索引而不是使用类型。鉴于我的开发环境停留在 C++14 上,有没有办法让它工作?谢谢!

c++ templates variadic-templates c++14

4
推荐指数
1
解决办法
103
查看次数

标签 统计

c++ ×1

c++14 ×1

templates ×1

variadic-templates ×1