您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 您的C++代码里有多少template
  所属分类: C
  开发工具:
  文件大小: 4kb
  下载次数: 0
  上传时间: 2009-05-10
  提 供 者: wengy******
 详细说明: to FreeFice >>模板就如同宏一样,看起来很风光,但陷阱不少 模板陷阱多是因为它缺少内在的concepts的支持,所以产生了一堆难以理解的编译错误.对于这个问题,目前有一些辅助的东西来解决这个问题例如boost.concept, 被bjarne提倡的constraints classes 以及loki的compiling-time error checking. 这都是在目前来说比较好的解决方案. 而宏是避开了类型系统,导致毫不相干的编译错 误. 很多用模板的地方都可以用OO来代替,这并不是说模板就没用. 我觉得模板的使用的起点比较高.简单的使用很容易接受.而大量使用就需要经验. 一句话就是敢不敢用和用的好不好. 一个简单的例子 比如一个窗口类 有个成员函数用于设定菜单栏.典型的做法是 #include"menubar.h" class Window { public: void set_menu(const menubar& m) { append(wnd_, m.handle()); //wnd_是该Window的句柄, m.handle()返回菜单栏的句柄 } }; 在窗口的set_menu中使用了menubar, 使得menubar.h 和这个文件形成物理上等倚赖 而且用模板就可以解决这个倚赖 class Window { public: template void set_menu(const _Menu& m) { Category_Check(); //首先检测传入的m的类型是不是我们需要的Menu类型.如果是就肯定可以保证下面的接口要求.如果不是就可以在其中抛出异常 或 输出一个让人看得懂的compiling error终止编译 append(wnd_, m.handle()); } }; 当然,这个例子并不是为了说服别人因为这个极端的理由就去使用模板.一切慢慢来 to bruceteen(周星星): 嘿嘿,大侠您好~~ >>如果用不到template,那么我就用purc c写代码; 不考虑用继承吗? :) ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: JISHU
 输入关键字,在本站1000多万海量源码库中尽情搜索: