栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 基础学习八 —— 泛型编程

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 基础学习八 —— 泛型编程

文章目录
  • 泛型编程
    • C++模板全特化和偏特化
      • 对函数模板:
      • 对类模板

泛型编程 C++模板全特化和偏特化

模板分为类模板和函数模板,特化分为特例化(全特化)和部分特例化(偏特化)。

对模板特例化是因为对特定类型,可以利用某些特定知识来提高效率,而不是使用通用模板

对函数模板:
  • 模板和特例化版本应对应同一头文件,所有同名模板的声明应放到前面,接着是特例化模板版本。
  • 一个模板被称为全特化的条件:1. 必须有一个主模板类; 2. 模板类型被全部明确化。

​ 模板函数:

template
void fun(T1 a, T2 b) {
    cout << "模板函数" <
void fun(int a, char b) {
    cout <<"全特化"< 

函数模板,只有全特化,偏特化功能可以通过函数重载完成。

对类模板
template 
class Test {
public:
    Test(T1 i, T2 j):a(i), b(j) {
        cout<<"模板类"<
class Test {
public:
    Test(int i, char j):a(i), b(j) {
        cout<<"全特化"<
class Test {
public:
    Test(char i, T2 j):a(i), b(j) {
        cout<<"偏特化"< 

对主版本模板类、全特化类、偏特化类的调用优先级顺序 从高到低是:全特化类 > 偏特化类 > 主版本模板类

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913288.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号