Chinaunix首页 | 论坛 | 博客
  • 博客访问: 372875
  • 博文数量: 715
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:46
文章分类

全部博文(715)

文章存档

2011年(1)

2008年(714)

我的朋友

分类:

2008-10-13 16:34:35


这是一个一般的类模板定义
template
class MyClass
{
    ...
}

模板特化
template<> class MyClass
{
   ...
}
以前我老以为下面这个就是模板特化

class MyClass
{
    ...
}
那是不对的,其实这个是模板实例化
比如
class CSMyClass : public  MyClass
{
   ...
}
这个类就是一个普通类,而不是模板类。^_^

类模板偏特化,其实有两种形式
1. 一般意义的偏特化,部分模板参数被指定,而非全部

template
class MyClass
{
...
}

2. 对模板参数指针或引用偏特化
这是一个一般模板
template
class MyClass{
...
}

对指针进行偏特化
template
class MyClass
{
...
}

函数模板只有特化,而没有偏特化
tmplate comp(T& r, T & l);
特化后变成
tmplate<> comp(int& r, int & l);
上面的int可以通过模板参数推导出来所以可以省略
tmplate<> comp(int& r, int & l);





--------------------next---------------------

阅读(187) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~