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

酒泉网站建设设计/百度指数功能

酒泉网站建设设计,百度指数功能,外汇交易网站建设,网站制作建设怎么收费C类C前缀[1]的类皆由CBase类(定义于e32base.h)派生(直接或间接)。CBase类通过继承确保了所有的C类都具有如下两个特征。首先,CBase有一个虚析构函数,所以C类对象都应该通过删除CBase的指针进行销毁。通常清洁栈就使用这一方法,在将C类对象压入…

C类
C前缀[1]的类皆由CBase类(定义于e32base.h)派生(直接或间接)。CBase类通过继承确保了所有的C类都具有如下两个特征。
首先,CBase有一个虚析构函数,所以C类对象都应该通过删除CBase的指针进行销毁。通常清洁栈就使用这一方法,在将C类对象压入清洁栈时需要重载调用CCleanupStack::PushL(CBase* aPtr)函数。
如果对对象调用CCleanupStack::PopAndDestroy()(或在发生leave时),对象会通过删除CBase指针被删除。CBase的虚析构函数确保了对派生类的析构函数的正序调用(由最底层派生类起,逐层向上调用)。所以应当认识到,C类在这一点上有别于T类,它们通常都有一个析构函数。
还有一点需要注意的是,如果需要将非CBase的派生类压入清洁栈,将重载CCleanupStack::PushL(TAny*aPtr)函数而不是CCleanupStack::PushL(CBase* aPtr)。正象上面说的那样,当调用PopAndDestroy()或发生leave时,将会释放对象的内存但并不会调用对象的析构函数。所以如果不直接或间接地继承CBase类,即使你的基类有一个虚析构函数,你的类的对象也不会象你所期待
1这里可能让你觉得诧异,'C'表示'Class','C class'多少让人觉得有点罗嗦,但以T类的"Type'作为参照系,'C class'是一个正确的表示方法。
的那样可以顺利清除。
CBase类及其派生类的第二个特征,是当首次在heap上建立对象时,将重载new操作符来对对象进行零初始化。这意味着C类对象的所有数据成员在首次创建时皆为零。而不必由你亲自在构造函数中显式地进行这项工作。因为stack的分配不使用new操作符,所以零初始化也就不会在stack对象上发生作用。这间接的导致了基于heap的零初始化和基于stack的非零始化的不同行为。由于这一原因,特别就leave发生时的清洁处理而言,C类对象必须在heap上进行分配。
显而易见,基于heap的对象在失去使用价值后必须销毁。C类对象通常作为另一个类的指针成员或局部指针变量使用。如果C类对象是一个成员变量,则应在C类的所有者的析构函数中使用delete操作来销毁。如果是一个临时性的局部指针变量,那么必须在任何可能产生leave的代码之前将其压入清洁栈——否则一旦发生leave就会导致内存泄露。第3章将详细论述这一问题。
如果观察一下e32base.h,你将注意到CBase声明了一个private的复制构造函数和赋值运算符。这是一个较常用的策略,可以防止用户意外地C类对象进行浅表复制(shallow copy)。如果一定要对你的类进行复制操作,那么必须显式声明并定义一个public复制构造函数和赋值运算符,因为在基类中复制构造函数和赋值运算符被声明为private,所以不能进行隐式调用。但是,一个深层复制(deep copy)有可能导致潜在的leave发生,而就C类的本性而言,你又决不能允许在一个构造(或析构)函数中产生leave(参见第4章)。所以如果需要为C类提供复制操作,就不要定义并实现一个公共的复制构造函数,而应加入一个允许leave的函数,例如CloneL()或CopyL(),这样既遵守了C类的规则同时又完成了复制操作的任务。
因为大多数C类往往不足以直接提供逐位复制,所以最好避免隐式复制,这是派生于CBase的另外一个优点。CBase类中的复制构造函数和赋值操作符的private声明意味着你可以不必在每个C类中都亲自声明它们,以防止这种具有潜在危险的浅表复制。

基本原则----C类对象必须基于heap分配


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126140/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-126140/

http://www.jmfq.cn/news/4760299.html

相关文章:

  • 网站变移动网站/广告软文怎么写
  • 网站建设用什么软件/百度链接提交
  • 兰陵住房建设局网站/百度下载app安装
  • vs怎么建手机网站/排名优化百度
  • 昆明做网站优化的公司/谷歌官网登录入口
  • 网站的锚点链接怎么做/哪些平台可以免费打广告
  • 优质企业网站建设/百度推广代理开户
  • 网站制作详细报价表/潍坊网站外包
  • 长沙专业外贸网站建设/网络营销的用户创造价值
  • 用开源吗做的网站可以用吗/百度关键词排名联系
  • 手机网站建立教程/网址申请注册
  • 做网站引流做什么类型的网站最好/江苏seo平台
  • 建筑网站推荐知乎/网络营销与直播电商专业学什么
  • 基于c 的视频网站开发/bt磁力天堂torrentkitty
  • 网络布局设计/seo论坛
  • 网站建设服务器在国外如何打击/网络推广是什么职业
  • 网页后台设计师工资一般多少/优化大师怎么卸载
  • 汽车网站建设论文/青岛seo招聘
  • wap网站 web网站/湘潭网站定制
  • 山东响应式网站/大一网页设计作业成品免费
  • wordpress发布文章很慢/优化神马排名软件
  • 库存网站建设哪家好/天猫店铺申请条件及费用
  • 徐州网站建设哪家好薇/潍坊百度网站排名
  • 建公司网站的公司/贵阳网站优化公司
  • 南昌网站建设案例/百度收录入口提交
  • 金融 网站 源码/比百度好用的搜索引擎
  • 那种广告式网站怎么做/能打开各种网站的浏览器
  • 做企业网站需要人维护么/进行网络推广
  • 网站制作完成后首先要对网站进行/chrome手机版
  • 网络引流怎么做啊?/谷歌排名优化