- 6
- 0
- 约6.41千字
- 约 8页
- 2018-02-15 发布于河南
- 举报
动态联编实现原理分析
动态联编实现原理分析所谓动态联编,是指被调函数入口地址是在运行时、而不是在编译时决定的。C++语言利用动态联编来完成虚函数调用。C++标准并没有规定如何实现动态联编,但大多数的C++编译器都是通过虚指针(vptr)和虚函数表(vtable)来实现动态联编。基本的思路是:(1)为每一个包含虚函数的类建立一个虚函数表,虚函数表的每一个表项存放的是个虚函数在内存中的入口地址;(2)在该类的每个对象中设置一个指向虚函数表的指针,在调用虚函数时,先采用虚指针找到虚函数表,确定虚函数的入口地址在表中的位置,获取入口地址完成调用。我们将从以下几个方面来考察动态联编的实现细节。1.虚指针(vptr)的存放位置虚指针是作为对象的一部分存放在对象的空间中。一个类只有一个虚函数表,因此类的所有对象中的虚指针都指向同一个地方。在不同的编译器中,虚指针在对象中的位置时不同的。两种典型的做法是:(1)在Visual C++中,虚指针位于对象的起始位置;(2)在GNU C++中,虚指针位于对象的尾部而不是头部。可通过下面的程序考察在Visual C++中,虚指针在对象中的位置。#include iostreamusing namespace std;int globalv;class NoVirtual{int i;public:void func(){coutno virtual functionendl;}
您可能关注的文档
- 《就业推荐表》范本.doc
- 教科研小课题研究.doc
- 《等腰三角形和等边三角形》教学案例分析.doc
- 江苏战略推进计划验收申请表.doc
- 计量经济学第三次实验报告.doc
- 质量安全管理保证体系、质量责任制.doc
- 兴仁县第七小学数学教研组工作计划.doc
- 护理人员岗位职责、资质、技术能力.doc
- 消防设计专篇说明(珠江路站).doc
- 水库除险加固工程主体工程完工技术预验收工作报告.doc
- 2026年环境工程师职业资格认证题库环境影响评价与管理.docx
- 2026年五年级数学学习目标试卷.docx
- 2027 国考行测逻辑判断定义判断专项刷题(多领域定义 + 步骤排序 + 答案).pdf
- 分班生物群落与内环境专项练习题含解析.docx
- 2026年经济法律知识测试题型综合题.docx
- 2027 年公务员考试行测逻辑判断论证推理真题带刷(13 道真题 + 答案解析).pdf
- 分班生物进化与减数分裂加强训练题含解析.docx
- 2026年机械工程师考试专业知识与实操试题.docx
- 分班生物种群与群落加强训练题含解析.docx
- 2026年国家公务员行测言语理解与表达强化试题及答案解析.docx
最近下载
- 叉车司机理论知识考试复习题库(必会500题).docx VIP
- 【2025国省双考】公安专业知识专项刷题-职业素养+信息工作能力(讲义+笔记).pdf VIP
- 浅析马林巴独奏曲《雨之舞》的表演技巧.docx VIP
- 马林巴独奏曲《雨之舞》的演奏技巧和情感处理分析5000字.docx VIP
- 市政工程施工组织设计编制指南.pdf VIP
- 市政工程施工组织设计编制指南.docx VIP
- 短视频与直播运营(AIGC版第2版) 课件 第5--9章 抖音平台深度运营 ---短视频与直播融合运营案例 .pptx
- 《短视频直播与新媒体营销》课件 贺军 第1--4章 认识短视频与直播 --- 抖音短视频推广运营与数据分析.pptx
- 最新市政工程施工组织设计编制指南.docx VIP
- 2021产业基础创新发展目录.docx
原创力文档

文档评论(0)