下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——C语言中AddRef和Release的使用技巧C语言中AddRef和Release的使用技巧
引导语:你知道在C语言中AddRef和Release是一个怎样的存在吗,以下是我共享给大家的C语言中AddRef和Release的使用技巧,接待阅读!
AddRef和Release实现的是一种名为引用计数的内存管理技术,这种技术是使组件能够自己将自己删除的最简朴同时也是效率最高的方法。COM组件将维护一个称作是引用计数的数值。当客户虫组件取得一个接口时,此数值增1,当客户使用完某个接口后,此数值将减1。当此数值为0时,组件即可将自己从内存中删除。
为正确的使用引用计数,需要了解一下三条规矩:
1在返回之前调用AddRef。对于哪些返回接口指针的函数,包括QueryInterface和CreateInstance,在返回之前用相应的指针调用AddRef。
2使用完接口之后调用此接口的`Release函数。
3在赋值之后调用AddRef。如在将一个接口赋给另外一个接口指针时调用AddRef。
生命期嵌套在引用同一接口的指针的生命期内的指针可以不举行引用计数。在函数中,无需对存在于局部变量的接口指针举行引用计数。由于局部变量的生命期同函数的生命期是一样的,因此也将包含在调用者的生命期内。但当从某个全局变量或向某个全局变量复制一个指针时,那么需要对此指针举行引用计数,由于全局变量可以从任意函数中的任意地方被释放。
一般而言,客户务必为每一个接口维护一个单独的引用计数值。
总结引用计数的几条概括规矩如下:
1输出参数规矩。任何在输出参数中如QueryInterface的void**ppv或作为返回值返回一个新的接口指针的函数务必对此接口指针调用AddRef。即在返回之前调用AddRef。
2输出参数规矩。在输入参数C++的按值传递的参数或常量传入函数的接口指针,无需调用AddRef和Release。由于函数的生命期嵌套在调用者的生命期内。
3输入-输出参数规矩,即在函数体中可以使用输入-输出参数的值,然后可以对这些制举行修改并将其返回给调用者,对于具有这种功能的参数传进来的接口指针,务必在给它赋另外一个接口指针值之前调用其Release,并在函数返回之前,对输入参数中所保存的接口指针调用AddRef。
4局部变量规矩。对于局部复制的接口指针,由于它们只在函数的生命期内才存在,无需调用AddRef和Release。
5全局变量规矩。对于保存在全局变量中的接口指针,在将其传递给另外一个函数之前,务必调用其AddRef。对于保存在成员变量中的接口指针,也应按此中方式举行处理。由于类中的任何成员函数都可以变更此中接口指针的状态。
6不能确定时的规矩。对于任何不能确定的情形,都应调用AddRef和Release。
在抉择要对引用计数举行优化时,应给哪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮业薪资考核制度
- 预防接种单位考核制度
- 汽修工绩效考核制度
- 关于程序员考核制度
- 药品储存养护试题及答案
- 医院隔离技术理论考核试题(附答案)
- 学前儿童健康教育活动指导试题及答案
- 酒店管理概论模拟题含参考答案
- 低血容量休克试题附答案
- 高等专科学校第八次公开招聘员笔试备考试题及答案
- 2025年长沙职业技术学院单招职业适应性考试题库附答案解析
- 2025-2030中国少儿舞蹈培训行业经营规模及未来投资预测研究报告
- 餐饮店加盟经营权转让协议书
- 老年视力障碍护理
- 《电力系统自动装置》课程考试复习题库(含答案)
- 月子中心各种应急预案(3篇)
- 镇卫生院安全生产培训课件
- 基层治理如何解决“数字悬浮”问题
- 餐饮品牌托管协议合同书
- 贵州黔东南事业单位招聘中小学教师类D类考试模拟题带答案2024年
- 货运行业安全责任意识培训计划
评论
0/150
提交评论