首页 > 代码库 > c++知识点总结--函数模板
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]<<" "; }}
c++知识点总结--函数模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。