初见C++函数模板

函数模板 Function Template

可以将数据类型作为参数。

自己的理解:应用在实现方法相似的操作中。例如排序不同类型的数组,交换不同类型的两个数,但普通的swap函数需要参数与数据类型相匹配,实现多种数据类型的swap可能需要多个swap函数,int_swap,double_swap…或者进行函数的重载(overload),比较繁琐。而函数模板可以实现一个函数接纳多种数据类型,并做同一件事。

WARNING:函数的重载 !=函数模板

//函数模板的声明 关键字typename = class(旧版本), T可以重复使用,生命周期是这个函数
//正常声明函数 void... 参数可以为为自定义的 参数类型 也可以是 其他的数据类型
template <typename T> void swap_show(T&, T&);

//函数的定义 将template <typename T>置于第一行说明是一个函数模板 也可以放在同一行
template <typename T>
void swap_show(T& a, T& b)
{
	function body
}

下来是一个简单的应用

#include <iostream>
using namespace std;

//函数模板声明
template <typename T> void swap_show(T&, T&);


int main()
{
    int a = 1, b = 2;
    swap_show(a,b);
    double c = 2.5, d = 5.2;
    swap_show(c,d);
    system("pause");
    return 0;
}

//函数模板的定义
template <typename T>
void swap_show(T& a, T& b)
{
    T temp;
    temp = a;
    a = b;
    b = temp;
    cout << a  << ' '<< b << endl;
}

运行结果:
在这里插入图片描述
实现了int类型的交换以及double类型的交换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值