函数模板
- template < class / typename T> 告诉编译器紧跟的代码里出现T不要报错
- mySwap( T &a T &b ) 类型也需要传入 ,类型参数化
- myswap(a,b) 自动类型推导 按照a b的类型 来替换T
- myswap<int>(a,b) 显示指定类型
实例:
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //类型不同,逻辑非常相似 //类型参数化-- 泛型编程 通过模板技术实现 template<class T> //告诉编译器 下面如果出现T不要报错,T是泛型 //template<typename T> //等同于上面class T void mySwap(T& a, T& b) { T tmp = a; a = b; b = tmp; } void test01() { int a = 10; int b = 20; //1.自动类型推导 ,必须有参数类型才可以推导 mySwap(a, b); //2.显示指定类型 mySwap<int>(a, b); } int main() { system("Pause"); return 0; }