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