template<
bool>
class A{
public:
void fun()
{
std::cout<<"Base Test"<<std::endl;
}
};
template<>
void A<
true>::fun()
{
std::cout<<"Special Test"<<std::endl;
}
int main()
{
A<
true> test1;
test1.fun();
A<
false> test2;
test2.fun();
getchar();
return 0;
}
模板特例化 是在编译阶段的case。
输出效果:
![模板特例化的奇妙用法 - JCK - 做最好的自己 模板特例化的奇妙用法 - JCK - 做最好的自己](http://img2.ph.126.net/t-bfE_xgIKWDIbDXVy2zbA==/1583296744014539432.png)