C++ 函数模板用法
2020-12-13 05:38
标签:定义 通过 return 列表 std cout 特殊 strong ios 泛型编程概念:不考虑具体数据类型的编程方式; 函数模板: 1.提供一种特殊的函数可用不同类型进行调用; 2.与普通函数很相似,区别是类型可被参数化; 函数模板的应用: 1.自动类型推导调用; 2.具体类型显示调用; 使用演示: 函数模板的深入理解: -- 编译器并不会把函数模板处理成能够处理任意类型的函数; --编译器从函数模板通过具体类型产生不同的函数; --编译器会对函数模板进行两次编译; --在声明的地方对模板代码本身进行编译 --在调用的地方对参数替换后的代码进行编译 当函数模板遇到函数重载: --C++编译器优先考虑普通函数; --如果函数模板可以产生一个更好的匹配,那么选择模板; --通过空模板实参列表的语法限定编译器只通过模板匹配; 注意事项: --函数模板不允许自动类型转化; --普通函数能够进行类型转化; 函数模板可以定义多个类型的参数: C++ 函数模板用法 标签:定义 通过 return 列表 std cout 特殊 strong ios 原文地址:https://www.cnblogs.com/asce/p/11145025.htmltemplate
int a = 3;
int b = 4;
Swap(a,b); //自动类型推导调用
float fa = 5.5;
float fb = 8.8;
Swap
#include
int Max(int a, int b) //普通函数
{
return a > b ? a : b;
}
template
return 0;
}
template