深入探索C++对象模型 读书笔记
来源:互联网 发布:黄牛抢票软件个人版 编辑:程序博客网 时间:2024/06/02 03:18
3.2 数据成员的布局
1.对象的数据成员不一定连续存储,中间可能穿插对齐字节
3.4 继承 与数据成员
在C++继承模型中,一个derived class object所表现出来的东西,是其自己的members加上其base classes members的总和,至于derived class members和base classes members的排列顺序在C++ Standard并未强制规定,对于大部分编译器来说,base class membes总是先出现,但是属于virtual base class的除外.
1) 单一继承不含多态
一般而言,单一无多态的继承并不会增加空间或是存取时间上的额外负担,但是把一个class分解为两层或是多层,有可能会为了"表现class体系之抽象化"而膨胀所需的空间,C++语言保证"出现在derived class 中的base class subobject保持其完整原样性",所以,有可能因为alignment填补的空间在derived class保持其原来的大小,而导致derived class的空间膨胀。
class A{int i;char c1;};class B : public A{char c2;};<span style="white-space:pre"></span>如上代码,sizeof(A)等于8(3个字节填充),sizeof(B)等于12,即派生类对象的大小等于:基类的大小+派生类的成员+字节填充。
0 0
- 深入探索C++对象模型读书笔记
- 深入探索C++对象模型 读书笔记
- [读书笔记] 深入探索C++对象模型-第一章《关于对象》
- 深入探索C++对象模型 读书笔记(1)
- C++ 零散知识点速记 -- <深入探索C++对象模型> 读书笔记
- [读书笔记] 深入探索C++对象模型-第七章-站在对象模型的尖端(上)
- [读书笔记] 深入探索C++对象模型-第七章-站在对象模型的尖端(中)
- [读书笔记] 深入探索C++对象模型-第七章-站在对象模型的尖端(下)
- 深入探索c++对象模型
- 深入探索C++对象模型
- 深入探索C++对象模型
- 深入探索C++对象模型
- 深入探索C++对象模型--对象模型
- 深入探索C++对象象模型--拷贝构造函数、对象模型
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(上)
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(中)
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(下)
- [读书笔记] 深入探索C++对象模型-第三章 Data语义学(上)
- Linux修改/etc/profile配置错误command is not found自救方法
- zjwqorygdtbcxy
- Android(Lollipop/5.0) Material Design(二) 入门指南
- mysql---日期和时间函数
- 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
- 深入探索C++对象模型 读书笔记
- webappbuilder定义全局变量
- 利用不同的方法将同一个Bitmap转为Drawable时,两个Drawable的高度和宽度不一致的原因分析
- 大规模业务服务器开发总结
- FreeRTOS基础知识
- va_list可变参数简单使用test
- Android(Lollipop/5.0) Material Design(三) 使用Material主题
- 一个服务器下配置多个项目,输入域名就能访问项目
- Unity-Tween 插件比较