独来读网 发表于 2012-6-29 13:51:51

ACE_Message_Block中release的疑问

本帖最后由 独来读网 于 2012-6-29 13:53 编辑

_MyMessage* pSendMessage = new _MyMessage*;
ACE_Message_Block mb = new ACE_Message_Block();
_MyMessage* ppSendMessage = (_MyMessage *)mb->base(); //将ACE_Message_Block的数据指针指向pSendMessage
ppSendMessage = pSendMessage;

此时mb->base()内的指定指向了pSendMessage.
想问一个调用mb->release()时,pSendMessage空间会不会释放掉?
还是需要用户手动释放一次,即调用一次delete pSendMessage?


同样疑问在delete mb时,自动会调用mb->release()吗?

winston 发表于 2012-6-29 17:38:23

你的这些所谓的问题,没有一个不是在“c++网络编程”里面解释过的。找一套这两本书,看完再编程序,就方便多了。

独来读网 发表于 2012-6-29 20:31:11

我问过ACE的专家了,和他聊了一下,才明白回来,我把存到ACE_Message_Block里的东西理解错了.上面代码只是把ACE_Message_Block里存了一个指针,没有数据存进去.
页: [1]
查看完整版本: ACE_Message_Block中release的疑问