Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316081
  • 博文数量: 748
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 8270
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-12 17:57
文章分类

全部博文(748)

文章存档

2010年(748)

我的朋友

分类:

2010-10-02 21:27:34

  c++的模板对于那些可以被多种类型重用的代码是非常有用的,如:symbian c++中的泛型集合rarray和rpointerarray就是使用的模板来实现的。但是,使用普通c++模板会带来代码尺寸大大增加的问题。本文将分为“c++模板基础”、“tbuf分析”、“瘦模板”三个部分,逐步深入讲解symbian c++瘦模板的概念和使用方法。 一、c++模板基础   在这一部分中不会详细的介绍c++的模板,只会已不同的代码的形式介绍c++模板的几种不同的使用方法,在这里只会以类模板作为例子。如果大家想对c++模板进行更深一步的了解,请参阅《c++ templates》一书。   1、类模板的声明 template class tstudent   {   ...   };   而在symbian sdk中,我们看到的最常见的形式是: template class tstudent   {   ...   };   在上面的代码中,t通常成为“模板参数”。以上两种模板声明方式效果是一样的,template 的声明形式会容易让人产生误解,在此不一定非要类类型才能作为模板参数,相比之下template 的形式更好一些。   2、类模板的特化   类似于函数重载,类模板提供了对模板参数的重载,实现了对不同类型的参数的不同处理,这一个过程就叫做类模板的特化。通过以下代码可以简单的说明这一点: 1 template class tstudent 2   { 3 public: 4   void doprint() 5     { 6     console->write(_l("t")); 7     } 8   }; 9 10 template <> class tstudent 11   { 12 public: 13   void doprint() 14     { 15     console->write(_l("tint")); 16     } 17   }; 18 19 local_c void mainl() 20   { 21   tstudent stu1; 22   stu1.doprint(); 23   24   console->write(_l("n")); 25   26   tstudent stu2; 27   stu2.doprint(); 28   } 29 如果喜欢symbian编程总结-深入篇-瘦模板正解请收藏或告诉您的好朋友.
阅读(98) | 评论(0) | 转发(0) |
0

上一篇: 白扒猴头

下一篇: 板栗闷宫廷鸡

给主人留下些什么吧!~~