#include<iostream>
using namespace std;
template<typename T1>
T1 ave(T1 a, T1 b) {
return a + b;
}
int main() {
ave(100, 200);
ave(short(100), short(200));
return 0;
}
反汇编代码
模板本质是编译器帮忙生成了不同的函数
就算非类型参数值不一样编译器也重新生成函数
数组(详情请看<<函数重载和函数模板>>那一篇文章)大小不一样也重新生成函数