前言
有C++11有那么一个特性,十分的使用。那就是数量不定的模板参数。这是相当实用的一种做法。
如何使用
语法:
template <typename T,typename... Types>
void print(const T& firstArg,const Types&... args){
cout << firstArg << endl;
print(args...);
}
数量不定的参数必定要有一个停止的条件所以我们定义一个退出递归的函数。
void print(){}
…就是一个包(pack)
- 包的长度可使用
sizeof...(args)
查看。 - 一个包里可以是任意多个数据。
这个包可以用在模板,函数等各个地方。
- 用在模板参数的包被称为模板参数包
- 用在函数参数类型的包被称为函数参数类型包
- 用在函数参数的包就是函数参数包
使用:
print(666,233,"hello world",3.1);
结语
以上就是数量不定的模板参数的简单描述,若有错误望可以指出,感激不尽!