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

【C++中的模板】

C++中的模板

文章目录

  • C++中的模板
  • 一、模板的定义
  • 二、函数模板
    • 函数模板的重载
  • 三、类模板

C++中的模板

C++是编译型语言,是强类型性语言。在编译时会进行很严格的类型检查,为了解决强类型语言灵活性与严格性的冲突,提出了模板。
例如函数重载时需要定义多个同名函数,但是函数参数不一致。使用模板的话只需要定义一个函数,在调用时能够智能的实例化出对应的模板。


一、模板的定义

// 示例如下template<class/typenameT>Tadd(T x,T y){returnx+y;}

二、函数模板

函数模板的实例化过程:

函数模板->生成相对应的模板函数->编译->链接->可执行文件

隐式实例化与显式实例化:

隐式实例化: 没有指出转换类型
显式实例化:显示指出了转换类型

函数模板的重载

  1. 函数模板与函数模板的重载

名称相同,参数不同(不推荐使用交换顺序,更推荐使用参数个数不同)

  1. 函数模板与普通函数重载

普通函数优先于函数模板

  1. 头文件与实现文件形式

对模板的使用,必须要拿到模板的全部实现,如果只有一部分,那么推导也只能推导出一部分,无法满足需求。
换句话说,就是模板的使用过程中,其实没有了头文件和实现文件的区别,在头文件中也需要获取模板的完整代码,不能只有一部分。

  1. 模板的特化
  1. template后直接跟 <> ,里面不写类型
  2. 在函数名后跟 <> ,其中写出要特化的类型

使用模板的规则
1.在一个模块中定义多个通用模板的写法应该谨慎使用;
2.调用函数模板时尽量使用隐式调用,让编译器推导出类型;
3.无法使用隐式调用的场景只指定必须要指定的类型;
4.需要使用特化模板的场景就根据特化模板将类型指定清楚。

  1. 模板的参数类型

类型参数与非类型参数
指定的类型 > 推导出的类型 > 类型的默认参数

  1. 成员函数模板

成员函数模板不能用virtual修饰


三、类模板

(1)需要带上template模板形参列表(如果有默认参数,此处不要写,写在声明时就够了)
(2)在添加作用域限定时需要写上完整的类名和模板实参列表

http://www.jsqmd.com/news/1029437/

相关文章:

  • 河北球场护栏厂家排行:实测适配多场景需求 - 奔跑123
  • 包包五金轻微掉色,重庆回收折价区间实测 - 讯息早知道
  • 2026海口名表到店回收,实体门店鉴表报价清晰无暗扣费 - 奢侈品回收评测
  • 广州名表回收实话测评,拒绝高价引流,一口真话不套路 - 禹竞
  • 2026南宁名表到店回收,实体门店鉴表报价清晰无暗扣费 - 奢侈品回收评测
  • LabVIEW项目实战:从零构建一个参数文件管理库
  • 微信视频投票创建指南 | 如何发起少儿英语短视频征集大赛? - 微信投票小程序
  • 江诗丹顿2026年6月专业售后服务热线与线下网点地址盘点 - 热点速览
  • 2026年6月衢州黄金回收行情分析 本地正规门店测评 - 润富黄金回收
  • 海西贵金属甄选,厦门全域黄金回收靠谱渠道权威排名汇总 - 奢侈品回收评测
  • 解放你的科研工具箱:Zotero插件市场让插件管理变得如此简单
  • 2026保姆级教程:一个PDF分成两个PDF,WPS、Adobe、免费工具电脑手机全攻略 - 软件小管家
  • 2026 年度 GEO 与 SEO 优化服务商实力评测榜单:6 家头部机构深度解析与选型全指南 - 速递信息
  • 网络药理学实战指南:从数据收集到机制解析的全流程拆解
  • MusicFree插件完整指南:一站式聚合全网音乐资源的终极解决方案
  • 2026莆田离婚律师推荐 本土法律服务实用参考 - 谁都没有我好看
  • Harness Engineering:Agent任务依赖冲突解决
  • 天津翡翠回收门店实力排行榜|16家线下门店,翡翠变现首选禹竞名奢汇 - 名奢变现站
  • 百联卡回收专业渠道怎么挑?四步省心教程来了,附实测到账案例 - 猎卡回收公众号
  • 伺服电机FOC控制和PID参数整定
  • 2026年新疆家电零售与以旧换新一站式解决方案完全指南 - 优质企业观察收录
  • 2026年安徽高考滑档了,合肥单招复读学校有哪些? - 小张zc
  • 高压开关动特性测试仪厂家怎么选?武汉千旭电力凭实力入围推荐榜单 - 千旭电力试验设备厂家
  • SiC系统中TMR电流检测方案应用分析
  • 天津高端名表回收哪家专业 本地直营门店实力榜单 - 开心测评
  • 2026年未央区宠物医院新趋势:爱宠护理的未来之路
  • IDEA 创建 Java 项目 负载均衡 获取 Nacos 服务地址
  • 2026浙江原木定制工厂市场测评:聚焦中式整装与纯实木定制的专业能力 - 企业品牌优选测评官
  • 飞书内部智能助理搭建教程 OpenClaw 本地 Agent 集成方案
  • 关于北大青鸟顺义校区介绍及官方公告 - 北大青鸟总部