函数模板会自动推导类型 类不会 必须加上<T>
--------模板特殊化:如果是char*优先会被编译到
简单的说就是对某一类型进行特殊处理
template<>
class test <char*>
--------模板偏特化
多个模板特殊 特殊化其中某一个即可
template<class T1, class T2>
test
template<class T1>
test<int>
-------模板函数不支持偏特化,编译不通过
template<class T1, class T2>
test
template<class T1,>
test<int>
--------模板元编程
模板类型跨模块数据类型对接问题
ModuleA
template<class T>
class Test
T getValue();
--------静态多肽
参考:
https://www.cnblogs.com/lizhenghn/p/3667681.html
--------代码生成
std::enable_if<true, int>
用法一:类型偏特化
用法二:控制函数返回类型
用法三:校验函数模板参数类型