- 部分模板参数被特化
- 偏特化版本只接受 T/T&/const T/ const T& 等对类型进行了修饰的类型
- 偏特化版本只接受 vector<T>/map<T>/list<T>等容器的类型
第一种形式
template <tyname T1, tyname T2>
class foo {
// ... ...
}
template <tyname T2>
class foo<int, T2> {
// ... ...
}
这里的 T1被特化为 int 类型
第二种形式
template < typename T>
class foo {
// ... ...
}
template <typename T>
class foo<T*> {
// ... ...
}
template <typename T>
class foo<T&> {
// ... ...
}
第三种形式
template <typename T>
class foo {
// ... ...
}
template <typename T>
class foo<vector<T>> {
// ...
}
网友评论