一个模板函数的小例子
-
需求实现一个比较大小的模板函数
-
代码实现:
#include <iostream>
#include <vector>
template<class T>
bool compare(T a, T b){
std::cout << "template compare" <<std::endl;
std::cout << "a:" << a << ", b:"<< b<<std::endl;
return a > b;
}
int main(){
compare<int>(7, 8); //在函数调用点,编译器用用户指定的类型,从原模板实例化一份函数代码出来
compare<int>(7.7, 8.8);
compare(7.7, 8.8);
return 0;
}
- 运行结果
template compare
a:7, b:8
template compare
a:7, b:8
template compare
a:7.7, b:8.8