PracticeDev/study_cpp/cpp_primer_source_code/Chapter 18/variadic1.cpp

23 lines
543 B
C++
Raw Normal View History

2022-12-20 17:31:11 +08:00
//variadic1.cpp -- using recursion to unpack a parameter pack
#include <iostream>
#include <string>
// definition for 0 parameters -- terminating call
void show_list3() {}
// definition for 1 or more parameters
template<typename T, typename... Args>
void show_list3( T value, Args... args)
{
std::cout << value << ", ";
show_list3(args...);
}
int main()
{
int n = 14;
double x = 2.71828;
std::string mr = "Mr. String objects!";
show_list3(n, x);
show_list3(x*x, '!', 7, mr);
return 0;
}