目录
前言:
C++11引入了可变参数模板,他的作用是可以让创建的函数模板或者类模板的模板参数可以接收任意数量参数,在C++11前,只能手写固定数量个模板参数,并且只能接收与之对应数量的参数,有了可变参数模板后,代码就变得更加的灵活了。
1、可变参数模板的用法
可变参数必须是搭配着模板使用的,具体写法如下:
// Args是一个模板参数包,args是一个函数形参参数包
// 声明一个参数包Args...args,这个参数包中可以接收多个实参。
template <class ...Args>
void ShowList(Args... args)
{}
可以发现,可变参数模板的写法非常特殊,需要先创建一个模板,并且该模板的参数需要用三个点:’...‘来声明,如上代码,Args就成了一个模板参数包,再用该模板参数去作为args的类型,则args为函数形参参数包,这一类args就可以接收多个实参了(可接收0~n个参数,n>=0)。