我是否在发布或析构函数中删除com对象的实例数据?

时间:2014-03-11 14:40:53

标签: c++ com

正如名称所示,发布应该发布实例数据。这也是c ++中析构函数的任务。 现在我应该在哪里发布实例数据?首先叫哪一个?

2 个答案:

答案 0 :(得分:2)

COM对象会跟踪调用AddRefRelease的次数。
这称为 RefCount

当RefCount降至零时,表示没有人再持有对象的引用,并且 它会自行删除

您和您的代码从未真正确切地知道程序的其他元素可能持有对COM对象的引用,因此您不应该显式删除该对象。

相反,你应该在完成后调用Release。当调用最后一个Release时,该对象将删除自己的数据。

答案 1 :(得分:2)

Release应该减少引用计数。只有当引用计数达到零时,对象才会被销毁一个名为。

的析构函数