相关疑难解决方法(0)

如何在所有可变参数模板args上调用函数?

我想要做

template<typename... ArgTypes> void print(ArgTypes... Args)
{
   print(Args)...;
}
Run Code Online (Sandbox Code Playgroud)

并且它相当于这个相当庞大的递归链:

template<typename T, typename... ArgTypes> void print(const T& t, ArgTypes... Args)
{
  print(t);
  print(Args...);
}
Run Code Online (Sandbox Code Playgroud)

然后是我想要打印的每种类型的显式单参数专精.

递归实现的"问题"是生成了大量冗余代码,因为每个递归步骤都会产生一个新的N-1参数函数,而我想要的代码只会为单个N-arg print函数生成代码,并且具有最多的N专业print功能.

c++ variadic-templates c++11

43
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×1

c++11 ×1

variadic-templates ×1