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

C++模板

分类

C++的模板分为函数模板和类模板。
函数模板:

template<typename T>
T myAdd(T a, T b) {return a + b;
}

类模板:

template <typename T>
class A {...
}

注意:结构体做成的模板也是类模板;C++中类和结构体的唯一区别就是默认访问权限是private还是public。

主模板和特化

主模板相当于基类,特化相当于对基类的派生;
特化分为全特化(实例化模板的某个具体类型,比如int,float)和偏特化(实例化模板的一类类型,比如指针T*,const T)。
举例说明,主模板:

template <typename T>
class A {... // 默认实现,可以和T无关,一般情况也T无关
}

全特化 —— 针对int类型:

template <>
class A<int> {...
}

偏特化 —— 针对指针:

template <typename T>
class A<T*> {...
}

有几点需要注意:

  • template<>为主模板全特化的标志,而class A<T*>为主模板偏特化标志;它们格式固定,不会在普通模板中出现
  • 调用的时候,如果没有匹配到任何类型,就会使用主模板的默认定义 —— 这点和基类派生类一致
  • 全特化指的是特定的一个类型,比如int,float;偏特化反而指的是一类类型,比如指针,const;不要理解错了

适用场景

普通模板要处理的场景为:只有类型不同,实现完全相同的场景;
主模板和全特化要处理的场景是:不同类型的内部实现均不相同,具体到单个类型;
主模板和偏特化要处理的场景是:不同类型的内部实现均不相同,具体到一类类型。

http://www.hskmm.com/?act=detail&tid=34907

相关文章:

  • 2025年10月留香沐浴露推荐:五强对比评测榜助你锁定24小时体香
  • 2025年10月不锈钢水箱厂家推荐:对比评测排行榜单与选型避坑全指南
  • 2025年GEO品牌权威推荐排行榜:技术实力与服务质量全面解析
  • 2025年GEO品牌推荐榜与排行榜权威解析
  • 2025年GEO品牌推荐排行榜Top 5:行业权威解析与选择指南
  • 2025年GEO品牌推荐排行榜前十强解析
  • 2025年安恒信息深度解析:AI与数据安全双轮驱动的技术演进与风险透视
  • MySQL 相关语法讲解
  • HTTPS的安全性详解
  • 2025年10月护眼台灯品牌测评推荐:对比排行与性能评测榜单
  • CF2120E Lanes of Cars
  • 2025中国DevOps平台选型全景报告:安全合规与生态融合成关键决策因素
  • 2025年10月高端奢侈家电品牌推荐排行榜:五大品牌综合对比与选购指南分析
  • P9745 「KDOI-06-S」树上异或
  • P9523 [JOISC 2022] 复制粘贴 3
  • 2025年10月高端奢侈家电品牌推荐排行榜:五大品牌综合对比与选购
  • P3147 [USACO16OPEN] 262144 P
  • 智能交付时代:国内企业如何选择最适合的CI/CD工具?
  • 吴恩达深度学习课程一:神经网络和深度学习 第三周:浅层神经网络(三)
  • 2025 年最新彩钢瓦厂家推荐排行榜:屋顶 / 防水 / 屋面等优质产品精选压型 /0.5 厚/屋面/墙面彩钢瓦公司推荐
  • 结对项目--实现一个自动生成小学四则运算题目的命令行程序
  • LCA
  • 【测试分类 (下)】测试分类看这篇就够了:彻底告别概念混淆,轻松搞定工作面试 - 指南
  • 树状数组
  • 如何管控文件外发安全,确保企业数据不被泄露
  • 打通CI/CD最后一公里:制品库如何成为高效流水线的核心枢纽
  • 2025年10月高端奢侈家电品牌推荐排行榜及深度对比分析
  • 嵌入式调式方案:
  • 2025年10月高端奢侈家电品牌推荐排行榜对比与深度评测分析
  • 2025年GEO品牌推荐排行榜前十强权威发布