c++继承中的内存布局 - 开源中国社区.pdfVIP

c++继承中的内存布局 - 开源中国社区.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2014年8月4 日 c++继承中的内存布局 - 开源中国社区 首页 开源项 目 Java 开源软件 C# 开源软件 PHP 开源软件 C/C++ 开源软件 Ruby 开源软件 Python 开源软件 Go开源软件 JS开源软件 讨论区 技术问答 » 技术分享 » IT大杂烩 » 职业生涯 » 站务/建议 » 支付宝专区 » 开源硬件专区 » 代码 博客 翻译 资讯 移动开发 Android开发专区 iOS开发专区 iOS代码库 Windows Phone 招聘 城市圈 当前访客身份:游客 [ 登录 | 加入开源中国 ] 开源中国 讨论区 当前位置: 讨论区 » 技术分享 资讯、软件、分享、代码、 博客搜 索 c++继承中的内存布局 程序员必上的开发者服务平台 —— DevStore 今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后 获益良多,现在转在我自己的博客里面,作为以后复习之用。 ——谈VC++对象模型 /q uestion/565065_72355 1/28 2014年8月4 日 c++继承中的内存布局 - 开源中国社区 (美)简.格雷 程化 译 译者前言 一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。 对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系 小一些。因此,从篇幅和内容来看,译者认为本文是深入理解C++对象模型比较好的 一个出发点。 这篇文章以前看到时就觉得很好,旧文重读,感觉理解得更多一些了,于是产生了 翻译出来,与大家共享的想法。虽然文章不长,但时间有限,又若干次在翻译时打 盹睡着,拖拖拉拉用了小一个月。 一方面因本人水平所限,另一方面因翻译时经常打盹,错误之处恐怕不少,欢迎大 家批评指正。 本文原文出处为MSDN。如果你安装了MSDN,可以有哪些信誉好的足球投注网站到C++ Under the Hood。否则 也可在网站上找到/archive/default.asp? url /archive/en-us/dnarvc/html/jangrayhood.asp。 1 前言 了解你所使用的编程语言究竟是如何实现的,对于C++程序员可能特别有意义。首 先,它可以去除我们对于所使用语言的神秘感,使我们不至于对于编译器干的活感 到完全不可思议;尤其重要的是,它使我们在Debug和使用语言高级特性的时候,有 更多的把握。当需要提高代码效率的时候,这些知识也能够很好地帮助我们。 本文着重回答这样一些问题: 1* 类如何布局? 2* 成员变量如何访问? 3* 成员函数如何访问? 4* 所谓的 “调整块” (adjuster thunk)是怎么回事? 5* 使用如下机制时,开销如何: * 单继承、多重继承、虚继承 * 虚函数调用 * 强制转换到基类,或者强制转换到虚基类 * 异常处理 首先,我们顺次考察C兼容的结构 (struct)的布局,单继承,多重继承,以及虚继 承; 接着,我们讲成员变量和成员函数的访问,当然,这里面包含虚函数的情况; 再接下来,我们考察构造函数,析构函数,以及特殊的赋值操作符成员函数是如何 工作的,数组是如何动态构造和销毁的; 最后,简单地介绍对异常处理的支持。 对每个语言特性,我们将简要介绍该特性背后的动机,该特性自身的语意 (当然, 本文决不是 “C++入门”,大家对此要有充分认识),以及该特性在微软的 VC++中 是如何

文档评论(0)

lhp020 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档