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
Publiczne konstruktory
Nazwa |
Opis |
---|---|
Konstruktor. |
Podmioty publiczne
Nazwa |
Opis |
---|---|
Zwraca const odniesienie do m_T. |
|
Zwraca odwołanie do m_T. |
|
Porównuje obiektu typu dostosowane z m_T. |
|
Przypisuje obiekt typu dostosowane do m_T. |
|
Porównuje obiektu typu dostosowane z m_T. |
Publiczne danych członków
Nazwa |
Opis |
---|---|
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