上一篇:http://www.BkJia.com/kf/201112/115312.html
16.6.4 類模板的部分特化
template<class T1,class T2>
class Some_Template{
public:
T1 &Method1(T2 &t){
return T1();
}
};
template<class T1>
class Some_Template<T1,int>{
public:
T1 &Method1(int &t){
return T1();
}
};
template<class T1,class T2>
class Some_Template{
public:
T1 &Method1(T2 &t){
return T1();
}
};
template<class T1>
class Some_Template<T1,int>{
public:
T1 &Method1(int &t){
return T1();
}
};類模板的部分特化(partial specialization)本身也是模板。部分特化的定義看來像模板定義,這種定義以關鍵字template開頭,接著是由尖括號(<>)括住的模板形參表。部分特化的模板形參表是對應的的類模板定義形參表的子集。
16.7 重載與函數模板
設計既包含函數模板又包含非模板函數的重載函數集合是困難的,因為可能會使函數的用戶感到奇怪,定義函數模板特化幾乎總是比使用非模板版本更好。
摘自 xufei96的專欄