_com_ptr_t
Extractores
Específico de Microsoft
Extrae el puntero de interfaz COM encapsulado.
Sintaxis
operator Interface*( ) const throw( );
operator Interface&( ) const;
Interface& operator*( ) const;
Interface* operator->( ) const;
Interface** operator&( ) throw( );
operator bool( ) const throw( );
Comentarios
operator Interface*
devuelve el puntero de interfaz encapsulado, que puede ser NULL.operator Interface&
devuelve una referencia al puntero de interfaz encapsulado y emite un error si el puntero es NULL.operator*
permite que un objeto de puntero inteligente actúe como si fuera la interfaz encapsulada real cuando se desreferencia.operator->
permite que un objeto de puntero inteligente actúe como si fuera la interfaz encapsulada real cuando se desreferencia.operator&
libera cualquier puntero de interfaz encapsulado, lo reemplaza por NULL y devuelve la dirección del puntero encapsulado. Este operador permite pasar el puntero inteligente por dirección a una función que tenga un parámetro out a través del cual devuelve un puntero de interfaz.operator bool
permite usar un objeto de puntero inteligente en una expresión condicional. Este operador devuelvetrue
si el puntero no es NULL.Nota:
Dado que
operator bool
no se declara comoexplicit
,_com_ptr_t
se puede convertir implícitamente enbool
, que es convertible en cualquier tipo de escalar. Esto puede tener consecuencias inesperadas en el código. Habilite la Advertencia del compilador (nivel 4) C4800 para evitar el uso no intencionado de esta conversión.
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de