Udostępnij za pośrednictwem


Klasa CAdapt

Ten szablon służy do klas, które ponownie zdefiniować adres z operatora zwrócić inny niż adres obiektu zawijany.

template <
   class T
>
class CAdapt

Parametry

  • T
    Typ dostosowane.

Członkowie

bs6acf5x.collapse_all(pl-pl,VS.110).gifPubliczne konstruktory

Nazwa

Opis

CAdapt::CAdapt

Konstruktor.

bs6acf5x.collapse_all(pl-pl,VS.110).gifPodmioty publiczne

Nazwa

Opis

CAdapt::operator const t &

Zwraca const odniesienie do m_T.

CAdapt::operator t &

Zwraca odwołanie do m_T.

CAdapt::operator <

Porównuje obiektu typu dostosowane z m_T.

CAdapt::operator =

Przypisuje obiekt typu dostosowane do m_T.

CAdapt::operator ==

Porównuje obiektu typu dostosowane z m_T.

bs6acf5x.collapse_all(pl-pl,VS.110).gifPubliczne danych członków

Nazwa

Opis

CAdapt::m_T

Dane są dostosowywane.

Uwagi

CAdaptto proste szablon stosowane do zawijania klas, które ponownie zdefiniować adres z operatora (operator &) zwrócić inny niż adres obiektu.Przykłady takich klas obejmują ATL's CComBSTR, CComPtr, i CComQIPtr klasy i klasy obsługi kompilator COM _com_ptr_t.Wszystkie z tych klas przedefiniować adres z operator zwraca adres jednego z ich członków danych ( BSTR w CComBSTRoraz wskaźnika interfejsu w przypadku innych klas).

CAdaptjego podstawową rolą jest ukrycie operator adres z definicją klasy T, jeszcze nadal zachowują cechy dostosowane klasy.CAdaptspełnia tę rolę, przytrzymując publicznego członka, m_T, typu Ti definiując operatory konwersji, operatory porównania oraz Konstruktor kopiujący umożliwić specjalności z CAdapt należy traktować jako, jeżeli są one obiekty typu T.

Klasa karta CAdapt jest przydatne, ponieważ wiele klas kontenera (na przykład klasy kontenera STL) spodziewać otrzymać adresy ich zawarte obiekty za pomocą operatora z adresu.Ponowne zdefiniowanie adresu z operatora można confound wymóg ten zazwyczaj przyczyną błędów kompilacji i zapobieganie wykorzystywaniu typu nieadoptowanymi z kontenera.CAdaptzapewnia sposób wokół tych problemów.

Zazwyczaj używane będą CAdapt kiedy chcesz przechowywać CComBSTR, CComPtr, CComQIPtr, lub _com_ptr_t obiektów w kontenerze STL, takich jak list.Nie można przechowywać obiektów z tych typów, jak:

std::list< CComBSTR > m_List;

Zamiast tego należy przechowywać karty obiektów, jak:

std::list< CAdapt< CComBSTR > > m_List;

Wymagania

Nagłówek: atlcomcli.h

Zobacz też

Inne zasoby

Omówienie klasy ATL