当前位置: 首页 > news >正文

C++11----模板可变参数

在 C++ 中,普通模板只能接收固定数量的模板参数,比如:

template<typename T1, typename T2> void func(T1 a, T2 b);

但如果你希望函数能接收任意数量、任意类型的参数,比如:

func(1); func(1, 2.5); func(1, "hello", 3.14);

那普通模板就做不到了。
所以 C++11 引入了 —— 模板参数包(parameter pack)

用法

//注意模板参数的书写格式,以及使用方法
template<class ...Args>
void print(Args... args)
{for (int i = 0; i < sizeof ...(args); i++){cout << i << endl;}
}print(1,'s',"aaaa");

如果想要打印具体参数,要使用编译递归的书写方式:

void print()//递归终点
{cout << endl;
}
template<class T,class ...Args>void print(T value, Args ...args)
{cout << value << " ";print(args...);
}prin
http://www.dtcms.com/a/512196.html

相关文章:

  • 怎么做网站数据库备份公众号软文推广多少钱一篇
  • triton backend 模式docker 部署 pytorch gpu模型 镜像选择
  • RabbitMQ 自动化脚本安装方案
  • 前端三驾马车(HTML/CSS/JS)核心概念深度解析
  • Debug——主机无法访问虚拟机中Docker开启的容器
  • 网站配色与布局凡客诚品公司介绍
  • 怎么用企业网站做营销商城小程序多少钱
  • 大模型推理中的 Prefill/Decode 分离技术的一些思考
  • PCIe 枚举设备 学习
  • Linux外设驱动模块加载底层原理深度剖析
  • NAS文件远程同步攻略:群晖CloudSync进阶,告别U盘拷贝时代!
  • 关于网站建设请示校园二手交易网站值得做吗
  • 【C语言实战(39)】C语言排序算法实战:冒泡、选择与插入的对决
  • spark组件-spark core(批处理)-rdd血缘
  • 8 款企业微信 SCRM 工具功能对比分析
  • 手机网站建设的方法推广运营平台
  • stack、queue与priority_queue的用法解析与模拟实现
  • 【C++基本功】OOA OOD OOP面向对象彻底详解
  • 切换/获取root权限
  • 爬虫 beautifulSoup 方法
  • 深入BERT内核:用数学解密掩码语言模型的工作原理
  • 在webos中,在桌面上添加应用
  • 【Spring Security】授权(一)
  • 数据结构八大排序:快速排序-挖坑法(递归与非递归)及其优化
  • Docker 中卷、容器、镜像的区别
  • 学习React-21-受控组件非受控组件
  • 银行测试学习计划
  • 电商自建站中企动力网站建设公司
  • 怎么搜 织梦的网站唐山海港经济开发区人才网
  • Qt打包工具Enigma Virtual Box