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

类的模板初阶

在我们使用swap函数时,我们可能会因为参数类型的不同从而重载函数,但是他的缺点也很明显,比如:

1. 重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增
加对应的函数
2. 代码的可维护性比较低,一个出错可能所有的重载均出错
这就引发了我们的思考,有没有一种模板可以让编译器根据不同类型来生成代码,这就是今天我们要学的模板。
编写与类型无关的通用代码叫做泛型编程,这是代码复用的手段,模板是泛型编程的基础,分为函数模板和类模板。
一.函数模板
1.概念:
函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生
函数的特定类型版本。
2.函数模板的形式如图:
2.函数模板的原理
函数模板是一个蓝图,他本身不是函数,是编译器使用方式产生特定具体类型的模具,所以模板就是把将本来我们应该做的交给了编译器。
3.函数模板的实例化:
用下列一张图来解释清楚:
4.模板参数的匹配规则:
1.一个非模板函数可以与一个同名的函数模板同时存在,而且该函数的模板可以被实例化为这个非模板函数;
2.对于非模板函数和同名函数模板,如果其他条件相同,在调动时优先调用非模板函数而不是从函数模板中产生一个实例,如果模板可以产生一个更好匹配的函数,那么将选择模板
二.类模板
http://www.jsqmd.com/news/1109310/

相关文章:

  • UABEA:重新定义Unity资源逆向工程的跨平台解析框架
  • 微信小程序怎么制作自己的小程序?5款小程序开发工具实测(2026年7月更新)含零代码SAAS、AI编程、源码定制交付
  • 阴阳师自动化脚本终极指南:AI智能助手彻底解放你的游戏时间
  • 前后端RSA加解密实战:Java与JavaScript实现安全通信
  • Markdown Viewer浏览器插件:终极技术文档阅读解决方案
  • ASM330LHH与STM32F410RB的运动跟踪系统设计与优化
  • 基于Si4731与PIC18F47Q10的FM收音系统设计与实现
  • 抖音弹幕抓取神器完整指南:3分钟搭建实时数据监控系统
  • OpenSpeedy深度解析:Windows游戏加速工具的高级Hook技术实现与优化指南
  • DAC161S997与PIC18F4585构建高精度4-20mA电流环方案
  • 2026年短视频矩阵起盘:最少需要多少个账号才能跑通模型?
  • STM32L4S5ZI与KMR221实现低功耗多路电压检测方案
  • ASM330LHH与STM32F101ZG运动跟踪方案优化实践
  • IMU与MCU协同实现6DoF姿态追踪技术解析
  • ROC曲线与AUC:二分类模型评估的核心原理与实战指南
  • LTE Cat 1bis物联网模块与PIC微控制器的美洲应用方案
  • Selenium自动化测试中span元素定位的常见陷阱与解决方案
  • STM32电源管理:三路降压转换器TPS65263设计与优化
  • OpenCode中的各种常用命令
  • 2026晋中黄金回收白银回收铂金回收旧料回收怎么选?五家高实价铂金白银线下门店测评清单 + 联系方式
  • 如何将闲置电视盒子改造成全能服务器:Armbian系统终极指南
  • PCF8591与PIC18F85J10的I2C通信与ADC/DAC应用优化
  • 微信小程序逆向工程深度解析:wxappUnpacker的架构设计与技术实现
  • Photon光影包:解决Minecraft画质平庸的终极视觉升级方案
  • STM32F722VE与PCF8591的ADC/DAC信号转换方案
  • 专业做6s与目视化管理咨询的机构
  • 曲辕RPA-企业微信群通知
  • Web渗透测试从入门到实战:构建安全技能体系与漏洞攻防实践
  • 2026合肥黄金回收白银回收铂金回收旧料回收怎么选?五家高实价铂金白银线下门店测评清单 + 联系方式
  • Java后端负载测试全攻略:从单元到集成的性能保障策略