- 6
- 0
- 约 5页
- 2017-08-29 发布于安徽
- 举报
背景 在面向对象类的设计中,有时为了强化效能,特别是当构造大量小对象时,为了改善内存碎片,就需要自己实现对象的内存管理,以替换系统缺省的分配和释放行为,即全局的new和delete。按照c++标准,在定制类专属的new和delete时,为了减免客户代码使用时的麻烦和问题,需要考虑同时定制简单(normal new)、定位(placement new)和无异常(nothrow new)三种new情形,以及与之配对的三种delete情形,另外还有对应的数组new[]和delete[]各三种情形。在接口设计上,每种情形都是operator new和operator delete的重载版本;在内存管理上,具体的对象空间分配和释放是灵活的,因此这一部分可实现为策略模式,通过改变替换不同的内存管理策略,即可轻易获得不同的内存分配和释放行为,而类的代码则无须改变。为了方便定制类的new和delete,可以从一个接口基类模板继承而自动获得这种特性。这个基类模板实现了单个对象的new、delete和对象数组的new、delete,而模板参数正是内存管理策略类,它的设计约束如下: 1)必须存在static成员方法malloc和free,其参数和返回值与C库的malloc和free一致。 2)malloc只分配空间,若分配成功则不必初始化,否则失败返回NULL,不能抛出异常,因为nor
您可能关注的文档
- 会计年度论文范文.doc
- 会计师事务所导为对审计小组成员沟通为之影响-以审计结构化为调节变.pdf
- 会计外文翻译外文文献英文文献人力资源会计体系在中国构建.doc
- 会计稳健性计量方法比较与选择——基于相关性和可靠性实证的研究.pdf
- 会计信息化指标评价的研究.pdf
- 会计信息失真探索(王静).doc
- 会计信息失真原因分析及治理对策论文.doc
- 会计学毕业论文__应收账款管理对策的研究___范文.doc
- 会计学毕业论文-应收账款管理的研究.doc
- 会计政策选择会计风险控制 (开题报告).doc
- 2026江西赣州市皮肤病医院招聘劳务派遣员工5人备考题库带答案详解.docx
- 2026四川内江市市中区选聘社区工作者25人备考题库完整答案详解.docx
- 2026中国农业科学院草原研究所草地土壤健康与栽培研究中心科研助理招聘1人备考题库及一套答案详解.docx
- 2026宁波银行无锡分行暑期实习招聘备考题库有完整答案详解.docx
- 2026上海健康医学院辅导员招聘2人备考题库完整参考答案详解.docx
- 2026山东鲁抗医药股份有限公司招聘176人备考题库及答案详解(夺冠系列).docx
- 2026内蒙古应急教育培训中心招聘19人备考题库有完整答案详解.docx
- 2026云南大理鸣阳农业发展有限公司招聘相关人员备考题库及答案详解一套.docx
- 2026民政职业大学招聘8人备考题库(第一批)(含答案详解).docx
- 2026年山东省寄生虫病防治研究所公开招聘博士研究生工作人员备考题库精选答案详解.docx
原创力文档

文档评论(0)