有效的使用和设计COM智能指针――条款10(二)

2014-11-23 23:11:49 · 作者: · 浏览: 14
iew->DoSomething();

我们分析一下过程,GetView()返回了一个临时对象,这个对象是个智能指针,此时他的引用计数为1。当它将此智能指针赋值给另外一个接口指针之后它便析构了。此时引用计数归0,因此COM组件被释放掉。之后随着pIview调用DoSomething()程序崩溃了~

现在你应该可以肯定这一条款:混用智能指针和接口指针会使得引用计数难以琢磨。但函数参数传递和函数返回值中,我们允许接口指针的存在。

作者“liuchang5的专栏”