CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请教_com_ptr_t

楼主msl(无所谓)2002-06-10 16:02:23 在 VC/MFC / 基础类 提问

一个_com_ptr_t模板创建的智能指针(通过调用CreateInstance)  
  1.是不是不需要考虑调用Release方法?  
  2.如果不调用Release会不会内存泄漏?  
  3.如果赋值为NULL(ptr   =   NULL)是不是意味着调用Release? 问题点数:50、回复次数:7Top

1 楼PioneerMan(南蛮)回复于 2002-06-10 16:13:11 得分 10

com的指针为一个引用计数  
  只有在计数为0时才释放内存  
  创建的对象要求调用release,  
  如果赋值为NULL(ptr   =   NULL)不意味着调用Release  
  如果利用其智能指针就可以不调用releaseTop

2 楼grep(水车)回复于 2002-06-10 16:15:34 得分 25

_com_ptr_t应该是智能指针吧  
  不用release   超出作用域会自动释放  
  gzTop

3 楼msl(无所谓)回复于 2002-06-10 16:23:14 得分 0

To   PioneerMan((拓荒者)):  
  例如:  
  CMyClass::CMyClass()  
  {  
  m_ptrXmlDomDocument.CreateInstance(   CLSID_DOMDocument   );  
  }  
   
  CMyClass::~CMyClass()  
  {  
  if(   m_ptrXmlDomDocument   !=   NULL   )  
  m_ptrXmlDomDocument   =   NULL;     //   我在这里进行调试进入,发现有调用Release  
  }  
  //   其中m_ptrXmlDomDocument是   MSXML2::IXMLDOMDocumentPtr类型的  
  //   而MSXML2::IXMLDOMDocumentPtr定义为:  
  //   _com_ptr_t<   _com_IIID<   MSXML2::IXMLDOMDocument,   0   >   >Top

4 楼msl(无所谓)回复于 2002-06-10 16:25:33 得分 0

To   grep():  
  那么如果我的这个对象实例化多个,那么ptr   =   NULL会不会释放所有的引用计数?Top

5 楼msl(无所谓)回复于 2002-06-10 16:44:50 得分 0

up!!!Top

6 楼seanzhao(新云)回复于 2002-06-10 16:51:55 得分 15

_com_ptr_t只能保存最近的object,没有对象实例化多个,ptr   =   NULL释放所有的引用计数的可能性Top

7 楼msl(无所谓)回复于 2002-06-10 17:01:29 得分 0

To   seanzhao(新云):  
   
  超出作用域会自动释放吗?例如:我不写ptr   =   NULL,那么ptr在超出作用域后会调用Release吗?  
   
  回答完这个问题后给分!Top

相关问题

  • 急!_com_ptr_t的CreateInstance的问题,高手请进!!!
  • _com_ptr_t如何使用?最好有比较详细的代码
  • DWORD_PTR,LONG_PTR怎么用?
  • auto_ptr问题.
  • delete ptr 和 ptr=0有什么区别?
  • auto_ptr的问题
  • vector中能放auto_ptr吗?
  • LDGT QWORD PTR VGDTR问题?
  • 急问INT_PTR的问题
  • 请教!auto_ptr的使用

关键词

  • 指针
  • release
  • 智能
  • null
  • ptrxmldomdocument
  • 调用release
  • cmyclass
  • ptr
  • 引用计数
  • 释放

得分解答快速导航

  • 帖主:msl
  • PioneerMan
  • grep
  • seanzhao

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo