深度探索C++对象模型知识点总结
codenupt
这个作者很懒,什么都没留下…
展开
-
第四章 Function 语意学
Member的各种调用方式:Nonstatic Member Function 实际上Members functions被内化为nonmember的形式: 1. 改写函数以安插一个额外的参数到Members functions中,用以提供一个存取管道,使class Object得以将此函数调用,该额外参数称为this指针。 2.将每一个对nonstatic data member的原创 2014-12-20 16:19:56 · 416 阅读 · 0 评论 -
第五章 构造、析构、拷贝语意学
纯虚函数的存在: 它只能被静态调用,不能经由虚拟机制调用。 惟一的例外是纯虚函数的析构函数:每一个继承的析构函数被编译器扩展,以静态方式调用其每一个virtual base class以及上一层的base class的析构函数。只要缺乏任何一个的定义就会导致链接失败。准则:接口不const ,析构函数不是纯析构关于构造函数里面的内容: 初始化列表,虚函数表的指针,继承来的所原创 2014-12-20 16:21:28 · 409 阅读 · 0 评论 -
第二章 构造函数
Default Constructor的构造操作: 什么时候才会合成一个default Construct,当编译器需要它的时候,此外,被合成出来的Construct只执行编译器所需要的行动。 Nontivial default constructor的4种情况: 1.带有Default Constructor的Member Class Object 编译器如何避免合成多个原创 2014-12-15 17:34:51 · 239 阅读 · 0 评论 -
第三章 Data语义学
一个空类事实上并不是空的,它有一个隐藏1byte大小,那是被编译器安插进去的一个char,这使得这一Class的两个Object得以在内存中配置独一无二的地址Virtual base class subobject只会在derived class中存在一份实例。Static data member被放置在程序的一个global data segment中Data Member的绑定:原创 2014-12-19 21:24:42 · 326 阅读 · 0 评论 -
第一章 关于对象
本文及以后的文章上面的知识点来自于深度探索C++对象模型。没有侵权的意思,仅仅供自己和有需要的人学习-。--------------------------------------------------------------------------------------------------------------------------------------------------原创 2014-12-15 17:32:10 · 232 阅读 · 0 评论