泛型参数怎么new_泛型编程,你不知道?(基础篇)

关注“杜明c”,每天进步一点点!

我们学习C++,就常常有人提起泛型编程,什么是泛型编程?我就给大家简单聊一聊。

摘要

-

  • 什么是泛型编程

  • 为什么使用泛型编程

  • 使用方法

什么是泛型编程

泛型编程,简而言之,就是在编程中使用不明确的数据类型,他最大的一个特点就在这个“泛”字,让一套源码适用不同类型的元素。那么这个泛型编程具体什么作用呢?比如我们要我们要写一个求两个数的最大值的函数,一般来说我们都这么实现。

int max(int a, int b){    return a>b?a:b;}

一旦数据的类型发生改变,那么代码就得改一改,这依然很好实现,利用用函数的重载就可以实现。

double max(double a,double b){    return a>b?a:b;}
为什么要使用泛型编程

可是当要求是float型数据的时候,我们就需要添加更多的代码,这无疑增加了很多繁琐的工作,

这时候函数模板就派上了用场。

template <typename T>  //定义一个类型TT max(T a, T b)    //函数定义{    return a>b?a:b;}cout << max<int>(1,5) << endl;//函数调用----out----5

使用一个函数模板就可以实现这个函数,让我们专注于逻辑实现,而不是繁琐的重复工作。

使用方法

除了函数模板之外,我们还可以使用类模板,他们的用法是一样的。

  • 函数模板

  • 类模板

template //函数模板T max(T a, T b)    {    return a>b?a:b;}class base {public:  base(T new_a)  {    a = new_a;  }  T a;  T fun() {    return a;  }};

那么怎么使用呢?其实也很简单。

base<int> a(4);cout << a.fun() << endl;cout << max<int>(1,4) << endl;----out----44

下一章应用篇,说的是使用类模板构造一个vector容器,有兴趣的同学可以看看。

留言区

End

    杜明c

专注C/C++

长按关注 839903cf15cddfe6d257e190122559c4.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值