知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

C++泛型编程:类模板与模板特例化

发表时间:2022-03-25来源:网络

文章导读

一、类模板与模板特化(全特化与偏特化)
二、类模板与其模板特化的应用
三、模板特化存在性问题

一、类模板与模板特化(全特化与偏特化)

从接受类型的角度
类模板:全集R
模板偏特化(部分特化):为全集的一个子集A
模板全特化:为R中的一个"点",或者说为R中的一个元素
匹配规则:越特化匹配优先级越高(见下面例子)

1.类模板

可以接受任意类型// R template class A {}; // 类模板是能接受任意类型,A后面不需要(不能)任何处理

2.模板偏特化(局部特化)

可以接受任意指针类型// A template class A {}; // 类模板A的偏特化版本,在A后指出特化的范围

3.模板全特化

指定接受int类型template class A {} // 类模板A的全特化版本(已经是类模板的一个实例了),在A后直接指出明确类型int

4.例子:

#include #include using namespace std; template class A { public: A() { cout
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜