C++ : 模板(template)

C++ : 模板(template)

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。

模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。

每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。

您可以使用模板来定义函数和类,接下来让我们一起来看看如何使用。

1.函数模板

template <class type> 
ret-type func-name(parameter list)
{
   // 函数的主体
}

其中,class type我们通常用typename 自定义类型名

template <typename MyType>

示例

通过定义模板类型可以让一个函数处理不同类型的数据,下面以求和函数为例:

#include <iostream>
using namespace std;
template <typename D>  
D sum(D *begin,D *end)
{
    D ans=0;
    for (D *p = begin; p <= end ; p++)
        ans+=*p;
    return ans;
} 

int main()
{
    double arr[]={1.2,3.4,5.6};
    cout<<sum(&arr[0],&arr[2])<<endl;
    return 0;

}

输出:

10.2

2.类模板

template <class type> 
class class-name 
{
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值