万能择优器的总结
模板的使用
一. 函数模板的使用
- 什么是函数模板:
就是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,在个通用函数就称为函数模板。
- 函数模板的定义(格式):
函数模板由三个部分组成: 模板说明 + 函数定义 + 函数模板调用
1) 模板说明:template<类型形式参数表>
类型形式参数表: typename T1,typename T2
注:typename 和class的效果完全相同
2) 函数定义:类型+ 函数名 + (形式参数表)
模板说明的类属参数必须在函数定义中出现一次,函数参数表中可以使用类属类型参数,也可以使用一般类型参数。
3)函数调用两种:
(1)函数名 (a,b); //显示类型调用。
(2)函数名(a, b) ; //自动数据类型推到。
注:显示类型的优先级比自动类型要高。
代码说明:
#include<iostream>
#include<windows.h>
using namespace std;
template<typename T> //定义一个函数模板来比较两个数,谁大返回谁
T max(T a , T b){
return a>b ?a:b;
}
int main(void){
int a=1;
int b=2;
cout<< max(a,b)<<endl; //自动类型推到调用
cout << max<int>(a,b)<<endl; //使用显示调用
system("pause");
return 0;
}