【C++重新认知】:泛型编程(模板编程)

一、什么是泛型编程

当我们设计函数或者类时,有时候需要对应不同数据类型编写相同的代码,这样的话不仅有代码冗余,而且更加的加大程序员开发事件,降低开发效率,因此泛型编程就是解决此类情况----不同的数据类型可以重用一个函数,或者可以创建不同数据类型的相同类。

二、泛型的声明

template <typename name ...>

样例:

#include <iostream>
using namespace std;

template <typename _Tp>
_Tp Max(_Tp a,_Tp b)
{
   
	return a > b ? a : b;
}

int main()
{
   
	cout << Max(1, 2) << endl; //传入两个整型
	cout << Max(10.55, 2.33) << endl;//传入两个浮点型
	return 0;
}

在这里插入图片描述

三、泛型的特性

1、显示和隐式传值
在这里插入图片描述
2、传常量
在这里插入图片描述
注意:当模板规定变量类型时调用的时候必须显示调用,并且传参只能传常量。
3、默认情况
在这里插入图片描述
4、普通函数和模板函数的优先级
在这里插入图片描述

可以看到普通函数的优先级是高于模板函数的

四、类模板

1、模板类样例

#include <iostream>
using namespace std;

template <typename _Ty1,typename _Ty2>
class Data
{
   
public :
	Data();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rain_ZZX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值