定义:
一个可变参数模板就是一个接受可变数目的模板函数或者模板类.可变数目的参数被称为参数包.存在两种参数包:模板参数包,表示零个和多个模板参数;函数参数包,表示零个或多个函数参数.
用省略号...来表示模板参数或者函数参数包.在函数参数列表中,如果一个参数的类型是模板参数包,则此参数也是一个函数参数包.
- Args是一个模板参数包;rest是一个函数参数包
- Args表示零个或多个模板型参数
- rest表示零个或多个函数参数
sizeof...运算符:
当我们想知道包中有多少元素时,可以使用sizeof...运算符.
例如:cout << sizeof...(Args)
什么时候用可变参数:
当我们即不知道想要处理的实参的数目,也不知道他们的类型时,可变参数函数就很有用.