扩展参数包
模式 parameter_pack ...
扩展为 parameter_pack
的逗号分隔替换列表及其每个参数
template<class T> // Base of recursion
void variadic_printer(T last_argument) {
std::cout << last_argument;
}
template<class T, class ...Args>
void variadic_printer(T first_argument, Args... other_arguments) {
std::cout << first_argument << "\n";
variadic_printer(other_arguments...); // Parameter pack expansion
}
上面的代码用 variadic_printer(1, 2, 3, "hello");
打印调用
1
2
3
hello