如果我使用 areinterpret_cast转换 from IInspectable*to Object^,我是否仍负责发布原件IInspectable*?
显然,producedObject^会在超出范围时自行释放,所以真正的问题是 reinterpret_cast 是否暗示了一个 AddRef 给Object^它自己的引用计数,或者它拥有我已经拥有的引用的所有权。
无论哪种方式,似乎都有争论:一方面,COM 操作不应该接管其输入指针的引用计数——另一方面,reinterpret_cast顾名思义,它只是从“原始 ABI 指针”重新解释我的位到“已经拥有对对象的引用的戴帽子的指针”,我的工作是确保这是有意义的)。