- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Object landscapes and lifetimes
Technically, OOP is just about abstract data type, inheritance and polymorphism, but other issues can be at least as important. The remainder of this section will cover these issues.
One of the most important factors is the way objects are created and destroyed. Where is the data for an object and how is the lifetime of the object controlled? There are different philosophies at work here. C++ takes the approach that control of efficiency is the most important issue, so it gives the programmer a choice. For maximum run-time speed, the storage and lifetime can be determined when the program is being written, by placing the objects on the stack (these are sometimes called automatic or scoped variables) or in the static storage area. This places a priority on the speed of storage allocation and release, and control of these can be very valuable in some situations. However, you sacrifice flexibility because you must know the exact quantity, lifetime, and type of objects while you're writing the program. If you are trying to solve a more general problem such as computer-aided design, warehouse management, or air-traffic control, this is too restrictive.
The second approach is to create objects dynamically in a pool of memory called the heap. In this approach, you don't know how many objects you need, what their lifetime is, or what their exact type is until run-time. Those are determined at the spur of the moment while the program is running. If you need a new object, you simply make it on the heap at the point that you need it. Because the storage is managed dynamically, at run-time, the amount of time required to allocate storage on the heap is significantly longer than the time to create storage on the stack. (Creating storage on the stack is often a single assembly instruction to move the stack pointer down, and another to move it back up.) The dynamic approach makes the generally logical assumption that objects tend to be complicat
您可能关注的文档
- 基于西门子PLCS7-200的自动化电镀生产线控制设计.doc
- 基于主成分分析的河南省城市竞争力研究.docx
- 计量经济学课程论文中国旅游业发展状况分析及政策建议.doc
- 计量经济学论文城镇居民家庭消费性支出分析.doc
- 计算机毕业论文基于IOS平台美食应用软件.docx
- 计算机网络课程设计中小企业的网络组建.doc
- 计算机组成原理设计指令系统.doc
- 家用火灾自动拨号报警系统设计.doc
- 家用请洁机器人的结构设计与实现.doc
- 监控系统设计方案模板.doc
- 煤矿安全生产知识竞赛《煤矿安全知识试题》新版(二).doc
- 煤矿安全生产知识竞赛《煤矿安全知识题库考点》考试题.doc
- 煤矿安全生产知识竞赛《煤矿安全知识微信做题》新版(一).doc
- 煤矿安全生产知识竞赛《煤矿安全知识微信做题》新版.doc
- 幼教培训课件:《幼儿学习心理的发展特点》.pptx
- 煤矿安全生产知识竞赛《煤矿采煤掘进考试考点巩固》考试题(五).doc
- 煤矿安全生产知识竞赛《煤矿采煤掘进考试考试题》考试题(一).doc
- 煤矿安全生产知识竞赛《煤矿采煤掘进考试试题》考试题.doc
- 煤矿安全生产知识竞赛《煤矿安全生产知识竞赛试题预测》模拟练习卷.doc
- 幼教培训课件:《3—6岁儿童学习与发展指南》 社会领域的理解与实践.pptx
文档评论(0)