Dela via


_com_ptr_t extraktorer

Microsoft-specifika

Extrahera den inkapslade COM-gränssnittspekaren.

Syntax

operator Interface*( ) const throw( );
operator Interface&( ) const;
Interface& operator*( ) const;
Interface* operator->( ) const;
Interface** operator&( ) throw( );
operator bool( ) const throw( );

Anmärkningar

  • operator Interface* Returnerar den inkapslade gränssnittspekaren, som kan vara NULL.

  • operator Interface& Returnerar en referens till den inkapslade gränssnittspekaren och utfärdar ett fel om pekaren är NULL.

  • operator* Tillåter att ett smart pekarobjekt fungerar som om det vore det faktiska inkapslade gränssnittet när det avrefereras.

  • operator-> Tillåter att ett smart pekarobjekt fungerar som om det vore det faktiska inneslutna gränssnittet när det avrefereras.

  • operator& Släpper alla inkapslade gränssnittspekare, ersätter den med NULL och returnerar adressen för den inkapslade pekaren. Med den här operatorn kan du skicka den smarta pekaren efter adress till en funktion som har en ut parameter genom vilken den returnerar en gränssnittspekare.

  • operator bool Tillåter att ett smart pekarobjekt används i ett villkorsuttryck. Den här operatorn returnerar true om pekaren inte är NULL.

    Not

    Eftersom operator bool inte deklareras som explicitkan _com_ptr_t implicit konverteras till bool, som kan konverteras till alla skalärtyper. Detta kan få oväntade konsekvenser i koden. Aktivera Kompilatorvarning (nivå 4) C4800 för att förhindra oavsiktlig användning av den här konverteringen.

Se även

_com_ptr_t klass