- 5
- 0
- 约2.51千字
- 约 7页
- 2018-06-03 发布于河南
- 举报
详细介绍c 中的类对象内存模型
详细介绍c++中的类对象内存模型
发布时间: 2011-6-28 10:05 ?? 作者: 未知 ?? 来源: 51Testing软件测试网采编
内存模型描述的是程序中各变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节.不同平台间的处理器架构将直接影响内存模型的结构.
首先介绍一下C++中有继承关系的类对象内存的布局:
在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。
对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。之后是子类自己的成员变量数据。
对于子类的子类,也是同样的原理。但是无论继承了多少个子类,对象中始终只有一个虚函数表指针。
为了探讨C++类对象的内存布局,先来写几个类和函数
首先写一个基类:
class?Base? ?
{? ?
public:? ?
virtual?void?f()?{?cout??Base::f??endl;?}? ?
virtual?void?g()?{?cout??Base::g??endl;?}? ?
virtual?void?h()?{?cout??Base::h??endl;?}? ?
int?base;? ?
protecte
您可能关注的文档
- 废旧电池回收模式研究.pdf
- 国外废塑料回收利用技术进展.pdf
- 《环境科学与技术》期刊投稿须知.doc
- 秘鲁的有色金属矿业.pdf
- 荷兰电子废弃物回收处理立法及实施.pdf
- 工业废渣利用的新途径:碱矿渣水泥的现状与展望.pdf
- 我国电子废弃物资源再生产业发展对策探讨.pdf
- 经典及搞笑杂文录.doc
- 废陶瓷在水泥生产中的研究与应用.pdf
- 外国人最常说的二十个钻石级句子.doc
- 2026年山东省滨州市惠民县中考化学一模试卷(含答案).pdf
- 2026年山东省济南市历城区中考化学二模试卷(含答案).pdf
- 2026年山东省烟台市福山区中考化学模拟试卷(含答案).pdf
- 2026年山东省临沂市郯城县中考化学一模(含答案).pdf
- 2026年四川省德阳市中江县中考化学二诊试卷(含答案).pdf
- 2026年四川省绵阳市梓潼县中考化学二模试卷(含答案).pdf
- 2026年新疆乌鲁木齐市沙依巴克区中考化学适应性试卷(含答案).pdf
- 2026年重庆市永川区中考化学质检试卷(含答案).pdf
- 2026年重庆市第一中学校中考化学全真模拟试卷(二)(含答案).pdf
- 安徽池州市第二中学等校2025-2026学年高一下学期期中物理试卷A(含答案).pdf
原创力文档

文档评论(0)