加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c++之模板函数-模板

发布时间:2020-12-16 09:06:21 所属栏目:百科 来源:网络整理
导读:模板就是建立通用的模具,大大提高复用性。 c++的另一种编程思想是泛型编程,主要利用的就是模板。 c++提供两种模板机制:函数模板和类模板。 声明:templateclass T//typename可以替换成class 函数模板 函数模板的作用:建立一个通用函数,其函数返回值类型

模板就是建立通用的模具,大大提高复用性。

c++的另一种编程思想是泛型编程,主要利用的就是模板。

c++提供两种模板机制:函数模板和类模板。

声明:template<class T>//typename可以替换成class

函数模板

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

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

void swapInt(int& a,int& b) {
    int tmp = a;
    a = b;
    b = tmp;
}
void swapFloat(float& a,1)">float&float tmp =int main() {
    int a = 1;
    int b = 2;
    swapInt(a,b);
    cout << "a=" << a << t" << b=" << b << endl;
    float c = 1.1ffloat d = 2.2f;
    swapFloat(c,d);
    cout << c=" << c << d=" << d << endl;
    system(pause");
    return 0;
}

假设我们要设置所有数据类型的交换函数,那么如果按照普通的方式来写,就要写很多的函数,利用泛型就可以进行简化。

#include<iostream>//模板函数
声明一个模板,表明T是一个通用数据类型
template<typename T>
void mySwap(T& a,T& b) {
    T tmp = tmp;
}

使用模板函数有两种方式
    1.自动类型推导
    mySwap(a,1)">2.显示指定类型
    mySwap<int>(a,1)">;
    mySwap(c,1)">;
}

输出:

?

模板注意事项:

  • 自动类型推导必须推导出一致的数据类型T才可以使用;
  • 模板必须要确定出T的数据类型;?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读