我在cppreference.com上看到了这个例子.我不清楚函数参数的包扩展.
功能参数列表
在函数参数列表中,如果省略号出现在参数声明中(无论它是否命名函数参数包(如,Args ... args))参数声明是模式:
Run Code Online (Sandbox Code Playgroud)template<typename ...Ts> void f(Ts...) {} f('a', 1); // Ts... expands to void f(char, int) f(0.1); // Ts... expands to void f(double) template<typename ...Ts, int... N> void g(Ts (&...)[N]) {} int n[1]; g<const char, int>("a", n); // Ts (&...)[N] expands to const char (&)[2], int(&)[1]注意:在此模式中,省略号是最内层元素,而不是所有其他包扩展中的最后一个元素.