_com_ptr_t
Extractors
Microsoft-specific
Extract the encapsulated COM interface pointer.
Syntax
operator Interface*( ) const throw( );
operator Interface&( ) const;
Interface& operator*( ) const;
Interface* operator->( ) const;
Interface** operator&( ) throw( );
operator bool( ) const throw( );
Remarks
operator Interface*
Returns the encapsulated interface pointer, which may be NULL.operator Interface&
Returns a reference to the encapsulated interface pointer, and issues an error if the pointer is NULL.operator*
Allows a smart pointer object to act as though it were the actual encapsulated interface when dereferenced.operator->
Allows a smart pointer object to act as though it were the actual encapsulated interface when dereferenced.operator&
Releases any encapsulated interface pointer, replacing it with NULL, and returns the address of the encapsulated pointer. This operator allows you to pass the smart pointer by address to a function that has an out parameter through which it returns an interface pointer.operator bool
Allows a smart pointer object to be used in a conditional expression. This operator returnstrue
if the pointer isn't NULL.Note
Because
operator bool
is not declared asexplicit
,_com_ptr_t
is implicitly convertible tobool
, which is convertible to any scalar type. This can have unexpected consequences in your code. Enable Compiler Warning (level 4) C4800 to prevent unintentional use of this conversion.
See also
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for