共用方式為


_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 以防止意外使用此轉換。

另請參閱

_com_ptr_t類別