Com里面的引用计数使用要特别小心,为了避免误调AddRef和Release,我们可以使用以下一些方法来简化编程。
一. 使用智能指针
智能指针实际上重载了-->操作符,所有在智能指针上调用的函数,实际上上都转发到了内部的接口指针上。而当智能指针离开了作用域的时候,会自动调用析构函数,而我们可以在析构函数中对内部的接口指针调用Release操作。在ATL中,有实现好的模板类,CComPtr, CComQIPtr.
Com里面的引用计数使用要特别小心,为了避免误调AddRef和Release,我们可以使用以下一些方法来简化编程。
一. 使用智能指针
智能指针实际上重载了-->操作符,所有在智能指针上调用的函数,实际上上都转发到了内部的接口指针上。而当智能指针离开了作用域的时候,会自动调用析构函数,而我们可以在析构函数中对内部的接口指针调用Release操作。在ATL中,有实现好的模板类,CComPtr, CComQIPtr.