擴充套件引數包

模式 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