c++可变参数模板函数
可变参数模版函数 类型一致 可变参数 “...” 使用头文件(cstdarg, va_list arg_ptr//开头指针 va_start(arg_ptr, n)//从开头开始读取n个 va_arg(arg_ptr,T)//根据数据类型取出数据 va_end(arg_ptr)//结束读取 template < typename T > T addSum( int n , T t ...) { va_list arg_ptr; //创建开头指针 va_start (arg_ptr, n); //从开头开始读取n个 T res(0); for ( int i = 0; i < n ; i++) { res += va_arg (arg_ptr, T ); //根据数据类型读取数据 } va_end (arg_ptr); return res; } cout << addSum(4, 1.1, 2.1, 3.1, 4.1) << endl; 类型不一致 tempname<typename T>//typename 比class作用域更广 <typename...Args>//typename ...Args可变参数 show(...arg)//不能省略“...” //可变参数的函数模版需要使用递归终止 void show() //在可变参数调用完后调用 { } template <