CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

关于C++中的模板

楼主kuhx(50M经纪人,米粉事务代言人)2002-09-21 18:32:26 在 C/C++ / C语言 提问

C++中的模板是一次革命,它改变了C++的游戏规则,使C++的面向对象思想得到了一个革命性的提升,个人认为模板将会改变现在的C++风格。看看MFC和ATL/STL的代码就知道了。  
  模板一个最直接的贡献就是让烦琐的C++代码做到与类型无关,比如在C代码中对long和int数据类型敏感,但是使用模板后,我们可以使用任何数据类型来使用模板函数,只要这个数据类型提供了我们所需要的运算。  
  这就为我们的代码通用提供了很大的方便,我们可以通过模板来调用、扩展我们需要的类,比如,如果我们需要一个类只能生成一个对象,但是该类并没有实现这个功能,那么我们可以这样扩展这个类:  
  template   CSingleClass<class   Base>:  
  public   Base  
  {  
          ,,,  
  }    
  这时我们就可以实现生成唯一对象的类。而该类的使用和Base一样。  
  模板在效率上的主要贡献是将一些运行时的消耗改变到编译时刻。最明显的一个例子就是泛型的运用。其实我们可以使用模板来模拟虚函数,这样做的好处就是可以不生成vtbl,这样函数的调用就不需要通过指针了,在编译时,编译器就可以为我们生成正确的二进制代码。  
   
   
  好了,要回家吃月饼了,我在这里谈谈看法,起个引子,以后继续补上。希望各位能够多发表看法,有什么高见,欢迎!!!  
   
  问题点数:1、回复次数:7Top

1 楼sylmoon(专注Oracle)回复于 2002-09-21 18:48:34 得分 0

:)Top

2 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-09-21 18:50:30 得分 0

其实还是CPP太底层了  
  看VB,variant类型早就普及了Top

3 楼songhtao(三十年孤独)回复于 2002-09-21 18:56:51 得分 0

模版的出现不是一朝一夕了,他有很多弊病,所以到现在也还没有普及。Top

4 楼dilettante(蓝精灵)回复于 2002-09-22 00:55:39 得分 0

凡事过犹不及,template也是如此,正如songhtao所说的。不过我相信它的应用组建普及。Top

5 楼kuhx(50M经纪人,米粉事务代言人)回复于 2002-09-22 10:12:11 得分 0

模板的弊病我认为是出在编译器上的,模板过于复杂的游戏规则使得编译器厂商不能很好的实现。Top

6 楼kuhx(50M经纪人,米粉事务代言人)回复于 2002-09-22 10:26:37 得分 0

to   julyclyde(从ASP转向CPP,到处都是P):  
  VB普及variant也有它的弊端,不过从VB的设计角度来看,这种效率上的弊端并不是很重要的,它主要是一个易用的语言。Top

7 楼antivence(铁丝面)回复于 2002-09-23 09:41:50 得分 1

从各个方面说,如果模板能够健康的运行那么它更定拥有更大的市场,因为它的优势是显而易见的。正因为如此所以安全方面稍微有一些欠缺,比如我的毕业设计,导师要求用模板技术,但是实际上我们为了更安全的用模板,就花了将近三分之一的时间。而且用起来还是小心翼翼,不敢越雷池一步。Top

相关问题

  • C++模板类
  • C++中类模板的问题!!!!!
  • 关于c++中模板的问题???
  • 关于C++模板
  • C++中如何在类外定义模板类内的模板函数?
  • 关于C#中是否能用C++的标准模板库
  • 如何在Object Pascal中实现类似C++中的模板
  • 请教一个在C++中用模板的问题
  • 标准C++中类模板的一个问题?
  • 用C++中的模板来实现链表的问题

关键词

  • c++
  • 模板
  • 编译器
  • 代码
  • 数据
  • vb
  • 生成
  • 普及
  • 类型
  • 使用

得分解答快速导航

  • 帖主:kuhx
  • antivence

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo