当前位置: 首页 > news >正文

网站建设哪家专业公司好wp qiniu wordpress

网站建设哪家专业公司好,wp qiniu wordpress,动态ip可以做网站吗,wordpress自定义管理员头像一模板#xff1a; 模板不是数据类型#xff0c;只能算是一种行为集合的表示。编译器在使用模板时#xff0c;通过更换模板参数来创建数据类型。这个过程就是模板实例化(Instantiation)#xff0c; 从模板类创建得到的类型称之为特例(specialization)#xff0c;说白了就是… 一模板 模板不是数据类型只能算是一种行为集合的表示。编译器在使用模板时通过更换模板参数来创建数据类型。这个过程就是模板实例化(Instantiation) 从模板类创建得到的类型称之为特例(specialization)说白了就是创建了一个新类型。 模板实例化取决于编译器能够找到可用代码来创建特例(称之为实例化要素point of instantiation)也就是说编译器不但要看到模板的声明还要看到模板的定义。 1. 为什么类模版不能分离编译这要从模板的实例化过程说起 1以分离形式写出的模版类以tem.h和tem.cpp为例另外还有主函数main.cpp在编译main.cpp时由于只能看到模板声明而看不到实现因此不会创建新的类型但此时不会报错因为编译器认为模板定义在其它文件中就把问题留给链接程序处理。 2编译器在编译tem.cpp时可以解析模板定义并检查语法但不能生成成员函数的代码。因为要生成代码需要知道模板参数即需要一个类型而不是模板本身。 3这样链接程序在main.cpp 或 tem.cpp中都找不到新类型的定义于是报出无定义成员的错误。 另外实例化是惰性的只有用到该函数时才会去对模版中的定义进行实例化。 举一个明显的例子 .h文件 templateclass K, class V class RBTree { typedef RBTreeNodeK, V Node; public: RBTree() :_pRoot(NULL) {} ~RBTree() {} void InOrder() { _InOrder(_pRoot); coutendl; } void _InOrder(Node* _pRoot); } .cpp文件 #include RBTree.hpp templateclass K, class V void RBTreeK, V::_InOrder(Node* pRoot) { if(pRoot) { _InOrder(pRoot-_pLeft); coutpRoot-_key ; _InOrder(pRoot-_pRight); } } 这样就会产生上述问题 2. 如何解决这个问题有三种方式 1在实例化要素中让编译器看到模板定义。即写到一个文件里声明和实现放在一起 2把类的声明放在 .hpp 文件类成员函数定义放在 .cpp 文件然后在测试文件 test.cpp 文件中包含连个头文件即.hpp文件和.cpp 文件即可解决问题。 3使用export关键字。 前二种方法通常称为包含模式第三种方法则称为分离模式。第一种方法意味着在使用模板的转换文件中不但要包含模板声明文件还要包含模板定义文件这样编译器就能看到模板的声明和定义。这样做的缺点是编译文件会变得很大显然要降低编译和链接速度。第二种方法通过显式的模板实例化得到类型也就是将所有的显式实例化过程安放在另外的文件中比如tem_extend.cpp。这样新类型不是在main.cpp中产生而是在tem_extend.cpp中产生链接器就能够找到它的定义。用这种方法不会产生巨大的头文件加快编译速度而且头文件本身也显得更加“干净”和更具有可读性。但这个方法不能得到惰性实例化的好处即它将显式地生成所有的成员函数。第三种方法是在模板定义中使用export关键字剩下的事就让编译器去自行处理了。
http://www.sadfv.cn/news/120122/

相关文章:

  • 网营中国网站建设相城seo网站优化软件
  • 摄影素材网站网站专题特点
  • 建设培训中心网站手机app制作用什么软件
  • 北京网站建设怎么样wordpress展开
  • 网站seo推广找装修公司上哪个平台
  • 长春平面网站建设商务定制网站
  • 如何更改网站的关键词乐清开发网站公司
  • iis7.0建设网站seo薪酬如何
  • 温州网站搭建公司手机开发者模式利弊
  • 建个网站需要多少钱?建网站要多少钱合肥网站建设技术托管
  • pc端购物网站建站二级网页制作教程
  • 邯郸手机建站价格风险网站怎么解决方法
  • 班级手机网站墨刀怎样做网页站点不安全怎么办
  • 没有域名网站吗wordpress seo 模板
  • 营销网站设计公司有哪些wordpress免邮箱注册
  • 网站建设意向表联英人才网重庆招聘网
  • e特快做单子的网站加拿大28平台微信
  • 怎么建设自己淘宝网站北京seo优化费用
  • 衡水购物网站制作华夏运用网站
  • 江北区城乡建设部网站首页企业网站建设后期维护费用
  • 帮别人做违法网站做网站系统的答辩ppt范文
  • 做网站的会什么ppt模版模板免费网站
  • 苏州市网站网站改版怎样做301
  • 视频直播网站开发运营步骤网站备案个人和企业的区别
  • 做数据的网站有哪些内容本地的wordpress地址
  • 网站备案 固话企业网站icp
  • 如何创建企业网站网站内容吸引怎么做才好
  • 响应式网站模块怎样弄一个自己的网站
  • 兰州网站建设科技公司胜芳哪里做网站
  • 快刷网站怎样创造自己的网站