c++知识点总结--函数模板

通用函数可变参模板

用于处理不限定参数的函数 
showall(){//空函数,接口,最后结束递归
}
template<typename T,typename... Args>
void showall(T value,Args ...args){
  cout<<value<<endl;
  showall(args);
}
template<typename T,typename ...Args>
void showall(const T &value,const Args &...args){

}
//设计可以修改原来的数据  T &value,Args &...args
//设计不可以修改原来的数据可以修改副本 T value,Args ...args
//设计不可以修改原来的数据不可以修改副本 const T value,const Args ...args

 

函数模板的覆盖

结构体可以直接赋值,所有成员都是公有的类也可直接赋值

struct info{
char name[40];
double db;
int data;
}
template <typename T>
void     swap(T&a,T&b){
  cout<<"通用函数模板"<<endl;
  T temp=a;
  a=b;
  b=temp;
}    
template <>//模板为空,指定类型
void     swap(info&a,info&b){
  cout<<"特有函数模板"<<endl;
  //根据自己的数据类型进行优化
  T temp=a;
  a=b;
  b=temp;
}    

函数模板的重载

template<typename T>
void showarray(array<T,10> myarray,int n){
    cout<<"func 1"<<endl;
    for(int i=0;i<n;i++){
        cout<<myarray[i]<<" ";
    }
}
void showarray(array<T*,10> myarray,int n){
    cout<<"func 2"<<endl;
    for(int i=0;i<n;i++){
        cout<<*myarray[i]<<" ";
    }
}    

 

转载于:https://www.cnblogs.com/tla001/p/6702047.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值