level 8
1、模版是什么?
类型参数化
一份代码适用多种数据类型工具
template <typename T>
T add(T a,T b)
{
return a + b;
}
2026年09月11日 02点09分
1
level 8
1、代码重用 2、类型安全 编译期间类型检查 3、性能优化 模版在编译期生成代码,避免运行时类型转换开销 4、灵活性可扩展性 5、标准库支持STL
2026年09月11日 02点09分
3
level 8
函数模版:function Template
让一个函数的参数或返回值参数类型可以变化的定义
基础语法:
template<模版参数>
参数模版:
typename T
class T
有区别
template<typename T1,typename T2>
用引用传递可以节约开销
void myTest(T1& a,T2& b)
{
}
引用要传左值进去
2、申明和定义的位置
建议放一个文件中 编译器就知道了
第一种写法.h 全部写一起(建议)
第二种写法.cpp 上方要用 明确写一遍
3、命名规范 T U V
4、实例化和使用
调用时实例化了
5、不支持的话会报错
6、优先级。 首先选择 普通重载 函数
2026年09月11日 03点09分
4