可变参数,也就是让函数可以接受可变数量参数的函数。
使用方法:
//m_print()也就是0参数将会在可变参数函数m_print(T x,Args... args)
调用void m_print() {}
//可变参数模板
template<typename T,typename... Args>
void m_print(T x, Args... args)
{
cout << "this is" << " "<<x << endl;
m_print(args...);//相当于调用m_print("string", std::string("abc"))
}
int main()
{
m_print(5.2, "string", std::string("abc"));
return 0;
}
可变参数模板m_print(T x, Args... args)
通过递归调用m_print(args...);
或者m_print("string", std::string("abc"))
,到最后参数包args为空的时候,也就是参数为空,调用m_print()
函数来结束递归。