深入分析C++模板特化与偏特化-创新互联

1.模板特化

创新互联建站-专业网站定制、快速模板网站建设、高性价比白城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式白城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖白城地区。费用合理售后完善,10多年实体公司更值得信赖。

1.1概述

模板特化(template specialization)不同于模板的实例化,模板参数在某种特定类型下的具体实现称为模板的特化。模板特化有时也称之为模板的具体化,分别有函数模板特化和类模板特化。

1.2函数模板特化

函数模板特化是在一个统一的函数模板不能在所有类型实例下正常工作时,需要定义类型参数在实例化为特定类型时函数模板的特定实现版本。查看如下例子。

#include 
using namespace std;

template T Max(T t1,T t2)
{
return (t1>t2)?t1:t2;
}

typedef const char* CCP;
template<> CCP Max(CCP s1,CCP s2)
{
return (strcmp(s1,s2)>0)?s1:s2;
}

int main()
{
//调用实例:int Max(int,int)
int i=Max(10,5);
//调用显示特化:const char* Max(const char*,const char*)
const char* p=Max("very","good");
cout<<"i:"<                
文章标题:深入分析C++模板特化与偏特化-创新互联
分享网址:http://azwzsj.com/article/coisoj.html