C++17 变长参数模板
任意个数、任意类别的模板参数 template<typename... Ts> class Magic; // 计算参数的个数 template<typename... Ts> void magic(Ts... args) { std::cout << sizeof...(args) << std::endl; } 递归解包: C++17 之前 template<typename T0> void my_printf(T0 value) { std::cout << value << std::endl; } template<typename T, typename... Ts> void my_printf(T value, Ts... args) { std::cout << value << std::endl; my_printf(args...); } int main() { my_printf(1, 2.2, "abc", 'a'); return 0; } C++17 变参模板展开: template<typename T, typename....