遍历模板参数可以使用递归的方式来实现。下面是一个示例代码:
#include
// 递归终止条件:没有参数时停止递归
template
void traverseParams(T param) {
std::cout << param << std::endl;
}
// 递归调用函数,遍历参数
template
void traverseParams(T param, Args... args) {
std::cout << param << std::endl;
traverseParams(args...); // 递归调用
}
int main() {
traverseParams(1, 2.5, "hello", 'c');
return 0;
}
在上述代码中,traverseParams
是一个模板函数,接受任意个数的参数。当只有一个参数时,直接输出该参数的值;当参数个数大于1时,先输出第一个参数的值,然后递归调用 traverseParams
函数,将剩余的参数传递给它。
运行上述代码,输出结果为:
1
2.5
hello
c
这样就实现了对模板参数的遍历。