什么是偏特化
- 泛化(泛型)的反义
- 分为个数的偏特化和范围的偏特化
数量偏特化
- 举个例子,如果有如下class的定义,第一个class的就是泛型的,而第二个class,也是两个参数,但是第一个参数是个确定类型的,第二个是泛型的。这样就叫个人的偏特化。这固定类型的位置必须是从左至右的,不能跳着写。
1 | template<typename T, typename U> |
范围偏特化
- 说白了进一步约束泛型的类型。这个和C#中泛型的where约束有点像。
- 对于下面的例子来说,第一个C约束几乎没有,但是第二个就约束为指针类型了。
1 | template<typename T> |