c++ 模板特化与局部特化
template<typename t> class test{ t i; };
template<> class test<int>{ int i; };
通过上面的例子可以看出,可以针对类型int,定义一个新的处理。当外部使用时,穿进来的类型是int的话,就会进入到特化定义的类里。
template<typename t, typename m> class test{ t i; m m; };
template<typename m> class test<bool, m>{ int i; };
上面的例子,把类型t特化了,类型m保留了,所以是部分特化。也就是当外部使用时,穿进来的t的类型是bool类型的话,就进入到特化定义的类里。
template<typename t> class test{ t i; };
template<typename t> class test<t*>{ t i; };
template<typename t> class test<const t*>{ t i; };
上面的例子,把类型限定了,如果外部穿进来的是指针则有特殊的处理,如果穿进来的是const指针,则有另外的特殊处理。
c/c++ 学习互助qq群:877684253
本人微信:xiaoshitou5854
如对本文有疑问, 点击进行留言回复!!
2020 年百度之星·程序设计大赛 - 初赛三 P1005 Chess (HDU 6787) dp
Web篇(6.3) 13. 命令注入 ❀ FortiWeb 攻防演练
网友评论