Поделиться через


Средства извлечения _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   Позволяет использовать объект интеллектуального указателя в условном выражении. Этот оператор возвращает значение true, если указатель не NULL.

Завершение блока, относящегося только к системам Microsoft

См. также

Ссылки

Класс _com_ptr_t