std :: unique_ptr和指向指针的指针

Pup*_*ppy 8 com c++11

我一直在使用std :: unique_ptr来存储一些COM资源,并提供了一个自定义删除函数.但是,许多COM函数都需要指向指针的指针.现在,我在我的编译器中使用_Myptr的实现细节.它会打破unique_ptr直接访问这个数据成员,还是应该存储一个gajillion临时指针来构造unique_ptr rvalues?

sha*_*oth 6

COM对象的性质是引用可数的,所以你不应该使用除引用计数智能指针之外的任何东西,ATL::CComPtr或者_com_ptr_t即使它似乎不适合你的用例(我完全理解你的顾虑,我只是觉得你给它们分配了太多的重量) ).这两个类都设计用于在使用COM对象时出现的所有有效场景,包括获取指向指针的指针.是的,这有点太多的功能,但如果你不期望任何具体的负面后果,你不能容忍你应该只使用这些类 - 它们的设计正是为了这个目的.