CAdapt 클래스
이 서식 파일 이외의 개체의 주소를 반환 하는 주소에 연산자를 다시 정의 하는 클래스를 포함 하는 데 사용 됩니다.
template <
class T
>
class CAdapt
매개 변수
- T
적용할된 형식입니다.
Members
Public 생성자
이름 |
설명 |
---|---|
생성자입니다. |
Public 연산자
이름 |
설명 |
---|---|
반환 된 const 을 참조 m_T. |
|
에 대 한 참조를 반환 합니다. m_T. |
|
개체에 적용할 형식 비교 m_T. |
|
개체에 적용할 형식을 할당 m_T. |
|
개체에 적용할 형식 비교 m_T. |
공용 데이터 멤버
이름 |
설명 |
---|---|
적용 되는 데이터입니다. |
설명
CAdapt단순 템플릿 주소 연산자를 재정의 하는 클래스를 래핑하는 데 사용 됩니다 (operator &) 이외의 개체의 주소를 반환 합니다.이러한 클래스의 예로 ATL의 CComBSTR, CComPtr, 및 CComQIPtr 클래스 및 컴파일러 COM 지원 클래스 _com_ptr_t.이러한 클래스는 모든 데이터 멤버의 주소를 반환 하는 주소 연산자 재정의 (은 BSTR 의 경우 CComBSTR, 및 인터페이스 포인터를 다른 클래스의 경우).
CAdapt주 역할임 클래스에 의해 정의 된 주소에 연산자를 숨길 수 T, 하지만 여전히 적용할된 클래스의 특징을 유지 합니다.CAdapt공용 멤버를 보유 하 여이 역할을 fulfils m_T, 형식의 T, 변환 연산자, 비교 연산자 및 복사 생성자의 특수화를 허용 하도록 정의 하 고 CAdapt 형식의 개체 처럼 취급할 수 T.
어댑터 클래스 CAdapt 많은 컨테이너 클래스 (예: STL 컨테이너 클래스) 주소 연산자를 사용 하 여 포함 된 개체의 주소를 가져올 수 있으므로 유용 합니다.주소 연산자 재정의 일반적으로 컴파일 오류를 발생 시키는 및 unadapted 형식의 컨테이너를 사용 하는 것이 요구 사항, confound 수 있습니다.CAdapt이러한 문제를 해결 하는 방법을 제공합니다.
일반적으로 사용 됩니다 CAdapt 저장 하려는 CComBSTR, CComPtr, CComQIPtr, 또는 _com_ptr_t 같은 STL 컨테이너에 있는 개체는 list.다음과 같이 이러한 형식의 개체를 저장할 수 없습니다.
std::list< CComBSTR > m_List;
대신 어댑터 개체를 다음과 같이 저장 합니다.
std::list< CAdapt< CComBSTR > > m_List;
요구 사항
헤더: atlcomcli.h