C++面向对象编程之成员模板、模板特化、偏特化和模板模板参数
1.成员模板
理解起来就是类是模板类,他里面的成员函数又是个模板函数
上图例子:用派生类构造父类
2.模板特化
就是在类模板泛化后写特化的类,在template<>里不绑定类型,而在类后面<绑定类型>
3.模板偏特化
1)绑定个数的偏
就是在泛化时有一小部分元素是固定的某种类型值,例如char,这样可以减少空间,不然泛化的优化就要8字节
在偏特化时为绑定的还是要在template<>里写出来,后在类后面<>写绑定了的和未绑定的,一定从左到右绑定不能跳着绑定
2)范围的偏
就是原本是任意类型可以绑定,如果有任意指针的类型可以绑定就直接执行下面这个
4.在写template<>时, <>里class 和typename 可以共通,是历史遗留问题
上图如果直接用 list 是用不了的,因为 list 自己还有别的参数
4.1下面这个不是模板模板参数
因为在写第二个参数时,list<int>已经绑定死了,没有可以模糊的地带