在Andrei关于GoingNative 2012的演讲中,他讨论了Variadic模板,并且他在一个方面解释了参数包扩展如何工作的示例.作为这个主题的新手,我发现很难理解每个案例的工作原理,有人可以解释一下扩展在每个函数调用中的工作原理gun吗?
template<class... Ts> void fun(Ts... vs) {
gun(A<Ts...>::hun(vs)...);
gun(A<Ts...>::hun(vs...));
gun(A<Ts>::hun(vs)...);
}
Run Code Online (Sandbox Code Playgroud)