C++中的泛型程序设计---函数模板

           模板是C++中功能最为强大的软复用的一种方式,通过函数模板和类模板,我们只需要写一段特定的模板代码,即可以实现不同类型相应功能函数或类的一整套实现。不需要针对不同类型编写多个函数重载(这里就极大的减少了相应代码的编写)。当编译器遇到处理不同的类型时,会调用相应的函数模板来特化自动相应类型的目标代码(也就是说编译器帮我们完成了不同类型的函数重载编写工作).

 

函数模板的定义:

        所有函数模板的定义都由关键字  template开始,后面跟着<typename T>模板形参列表。模板型参列表中则是具体的模板型参(T)。T就代表了所有基本类型和自定义类型。模板型参T之前一定要加上相应的关键字typename或class来指出相应的模板型参。

例:模板函数测试

#include <iostream>
#include <iomanip>//设置相应的流格式
using namespace std;

template <typename T>
void print(const T * const ptr,int count){//接收二个常量
    for(int i = 0; i < count; i++ )
        cout<<"ptr["<<i<<"]="<<ptr[i]<<"  ";;//打印相应的数组元素
    cout<<endl;//换行
}

int main(){
    const int acount = 5;
    const int bcount = 6;
    const int ccount = 6;

    int a[acount] = {1,2,3,4,5};
    double b[bcount] = {1.1,2.2,3.3,4.4,5.5,6.6};
    char c[ccount] = "hello";//初始化相应的字符数组
    cout<<"first:"<<endl;
    print(a,acount);
    cout<<endl;
    cout<<"second :"<<endl;
    print(b,bcount);
    cout<<endl;
    cout<<"third :"<<endl;
    print(c,ccount);
}



转自我的个人技术网站

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值