- 博客(3)
- 资源 (3)
- 收藏
- 关注
转载 struct/class/union内存对齐原则
struct/class以及union内存对齐四个原则:1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节, 则要从4的整数倍地址开始存储),基本类型不包括struct/
2014-05-23 09:51:21 592
转载 c++对象内存模型【内存布局】
#类中的元素0. 成员变量 1. 成员函数 2.静态成员变量 3. 静态成员函数 4. 虚函数 5. 纯虚函数#影响对象大小的因素0. 成员变量 1. 虚函数表指针(_vftptr) 2. 虚基类表指针(_vbtptr) 3. 内存对齐注:【下文中_vbptr等同于_vbtptr】#对象内存布局分类讨论vc6变量查
2014-05-22 16:57:31 489
转载 C++中虚拟继承的概念
C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。class 派生类名:virtual 继承方式 基类名virtual是关键字,声明该基类为派生类的虚
2014-05-22 16:55:50 402
C++对象模型
2014-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人