可变模版参数
c++11 可变模版参数
1 | template <class... T> |
- 递归函数展开参数包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#include <iostream>
template <class... T>
void f(T... args)
{
std::cout << sizeof...(args) << std::endl;
}
void func() {}
template <class T, class... Args>
void func(T first, Args... remain) {
std::cout << first << " ";
if (sizeof...(remain) == 0) return;
func(remain...);
}
int main() {
func(2, 3, 9);
return 0;
} - 逗号表达式展开参数包