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

模板的使用

模板

模板的概念:模板就是建立一个通用的模具,大大提高复用性
c++中模板机制分为两类

函数模板

建立一个通用函数,其函数返回值类型和形参类型可以不具体定制,用一个虚拟的类型来代表

template<typename T>
//template		声明创建模板
//typename 		表明其后面的符号是一种数据类型,可以用class代替
//T				通用的数据类型,名称可以替换,通常是大写字母
// 定义一个模板,告诉编译器后面这个函数中的T是通用数据类型
template<typename T>
void myswap(T a,T b) {}int main() {int a = 10, b = 20;// 使用模板的两种方式//1. 自动类型推导myswap(a, b);//2. 显示指定类型,指定告诉模板类型myswap<int>(a, b);//空模板的参数列表强制调用模板myswap<>(a, b);
}

普通函数与函数模板的调用规则

  1. 如果函数模板和普通模板都可以调用,优先调用普通模板
  2. 可以通过空模板参数列表,强制调用函数模板
  3. 函数模板可以发生参数重载
  4. 如果函数模板可以产生更好的匹配,优先调用函数模板

类模板

相关文章:

  • 【LUT技术专题】SPFLUT代码解读
  • 捌拾肆- 量子傅里叶变换 (2)
  • 机器学习中分类模型的常用评价指标
  • echarts按需加载和不按需加载,打包后的具体对比
  • 网站开发过程中样式忽然不显示问题
  • 《构建社交应用的安全结界:双框架对接审核API的底层逻辑与实践》
  • 《微机原理与接口技术》第 6 章 半导体存储器
  • 《从像素到身份:Flutter如何打通社交应用人脸识别的技术闭环》
  • 从生产流程到故障处理,R²AIN SUITE 如何为制造业“减负”?
  • 树莓5安装 PyCharm 进行python脚本开发
  • Java 线程Thread类中的方法
  • JavaScript 中如何跳出(或终止)forEach 循环
  • zabbix最新版本7.2超级详细安装部署(一)
  • Helix QAC 2025.1 重磅发布!MISRA C:2025® 100%覆盖
  • 【C++】【设计模式】生产者-消费者模型
  • 数据库--处理模型(Processing Model)
  • 有限资源下的AI搜索策略:2025年SEO优化指南
  • 在scala中使用sparkSQL读入csv文件
  • 前端面试每日三题 - Day 33
  • Vue 2 和 Vue 3的比较(二、语法差异)
  • 美国和沙特签署上千亿美元军售协议
  • 李强会见巴西总统卢拉
  • 广东:十年后省级水网主骨架全面建成,与国家骨干网互联互通
  • 云南一男子持刀致邻居3死1重伤案二审开庭,未当庭宣判
  • 《AI×SCIENCE十大前沿观察》9:合成数据和数据基础设施
  • 北美票房|昔日偶像风光不再,乔什·哈内特新片开画不佳