C++学习17:函数模板
来源:互联网 发布:千千自动发卡源码 编辑:程序博客网 时间:2024/05/30 04:44
函数模板是通用的函数描述,通过将类型作为参数传递给模板,可使编译器生成该类型的函数。
当函数形式完全相同,只是参数类型不同时,可以使用函数模型,这样可以极大的减少代码量,便于维护。
函数模板声明形式如下:
template<typename 数据类型参数标识符><返回类型><函数名>(参数表){ 函数体}
其中template和typename是固定的标识符,不可更好。为了使用简单,数据类型参数标识符常会使用T。
例1:
#include<iostream>using namespace std;template<typename T>void Swap(T &a,T &b){ T c; c=a; a=b; b=c;} int main(){ int a=5; int b=3; Swap(a,b); cout<<"a:"<<a<<" "<<"b:"<<b<<endl; double c=1.2; double d=3.6; Swap(c,d); cout<<"c:"<<c<<" "<<"d:"<<d<<endl; system("pause");}
结果如下:
a:3 b:5c:3.6 d:1.2请按任意键继续. . .
例2:
#include<iostream>using namespace std;template<typename T1,typename T2>T2 Add(T1 a,T2 b){ T2 c; c = a+b; return c;} int main(){ int a=5; double b=1.2; cout<<Add(a,b)<<endl; double c=1.2; int d = 5; cout<<Add(c,d)<<endl; system("pause");}
结果如下:
6.26请按任意键继续. . .
可以看到,通过函数模板,函数会自动根据输入参数的类型进行转换,这样可以极大减少代码量。
阅读全文
0 0
- 学习C++模板---模板函数
- C++Template学习笔记之函数模板
- (C/C++学习笔记)函数模板加强
- C++学习17:函数模板
- (C/C++学习笔记)函数模板遇上函数重载
- 【c/c++】函数模板和模板函数
- C++primer学习:类模板(1):函数模板,模板参数,实例化
- C++ Template学习笔记之函数模板(1)——函数模板定义
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C++ Template学习笔记之函数模板(1)——函数模板定义
- C++ Template学习笔记之函数模板(7)——重载函数模板
- C/C++ 函数模板
- c++:函数模板
- 【C++】函数模板
- 【c++】函数模板
- C语言函数模板
- C++:函数模板
- 【C++】模板函数总结!!!
- C语言实现通讯录管理系统
- 关于堆和栈
- Linux中常用操作命令
- Puppet的agent/master原理与案例实现
- 使用serialize()提交form表单数据后台为null问题解决
- C++学习17:函数模板
- python容器
- VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射
- 1072. 开学寄语(20)
- Java IO流经典练习题
- 【ACM题】排序问题
- Flask-restful路由实现url后面跟多个参数
- c++中为初始化的局部变量和全局变量的区别
- 操作系统高级教程系列_1