c++-可变参数模板函数

有些时候我们需要处理不限定个数的参数,处理不同的数据类型,那么最好的解决办法就是可变参数模板,这是c++常用的,当然c语言中也有的。
代码如此

#include <iostream>
/*通用可变参数模板*/
//不加的错误:1>g:\visualstudio2013_projects\类型转换\函数可变参数通用模板\main.cpp(12) : error C2780 : “void showall(T, Args...)” : 应输入 2 个参数,却提供了 0 个
void showall()//空函数,接口
{

}
//使用情景:处理不限定个数的参数,处理不同类型的参数
template <typename T, typename...Args>
//对通用可变参数模板引用如下
//void showall(T &value, Args & ...args)
void showall(T value, Args... args)
{
    std::cout << value << std::endl;
    showall(args...);//继续传递参数,调用的是自己,是递归调用
}

int main()
{
    int num1 = 1;
    int num2 = 2;
    int num3 = 3;
    char c = 'A';
    showall(num1, num2, num3, c);
    std::cin.get();
}
阅读更多
版权声明:转载请注明出处 https://blog.csdn.net/guoqianqian5812/article/details/51558768
文章标签: visual studio c语言
个人分类: C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

c++-可变参数模板函数

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭