_com_ptr_t
提取器
Microsoft 专用
提取封装的 COM 接口指针。
语法
operator Interface*( ) const throw( );
operator Interface&( ) const;
Interface& operator*( ) const;
Interface* operator->( ) const;
Interface** operator&( ) throw( );
operator bool( ) const throw( );
备注
operator Interface*
:返回封装的接口指针,这可能是 NULL。operator Interface&
:返回对封装的接口指针的引用,并发布错误(如果指针为 NULL)。operator*
:允许智能指针对象在取消引用时充当实际封装的接口。operator->
:允许智能指针对象在取消引用时充当实际封装的接口。operator&
:释放任何封装的接口指针(将其替换为 NULL),并返回封装的指针的地址。 通过此运算符,可通过寻址具有 out 参数的函数来传递智能指针,它通过该参数返回接口指针。operator bool
:支持在条件表达式中使用智能指针对象。 如果该指针不为 NULL,则此运算符返回true
。注意
由于
operator bool
未声明为explicit
,因此_com_ptr_t
可隐式转换为bool
,它可转换为任何标量类型。 这可能会在代码中产生意外的后果。 请启用编译器警告(级别 4)C4800 来防止无意中使用此转换。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将推出:在整个 2024 年,我们将逐步取消以“GitHub 问题”作为内容的反馈机制,并将其替换为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈