关于ACE_Message_Block自动析构的问题
不要意思啊,好像一直我在问问题。《ACE程序员指南》上316页的一句话:“Command类扩展了ACE_Data_Block,以使我们能
利用ACE_Message_Block提供的自动析构功能”
其中Command继承于ACE_Data_Block,我的问题是 自动析构功能 是什么意思,我不用delete他吗?
比如:ACE_Message_Block* new_msg;
ACE_NEW_RETURN( new_msg, ACE_Message_Block(64), -1);
我不用调用new_msg->release(),内存就能释放?感觉不可能,如果不对,那么自动析构又是什么意思?实在不解。
回复 #1 rainfish 的帖子
请高手帮帮忙,着急啊 明白了,是这样子的比如:
ACE_Data_Block *c;
c = new ACE_Data_Block();
ACE_Message_Block* new_msg;
ACE_NEW_RETURN( new_msg, ACE_Message_Block(c), -1);
则 c的内存空间不用释放了,当用户调用new_msg->release();后c的空间会自动销毁,这就利用了ACE_Message_Block的自动析构功能。 我们一直都不知道你问的是什么问题,所以没人回答。。。
页:
[1]