Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu şablon, nesnenin adresi dışında bir öğe döndürmek üzere address-of işlecini yeniden tanımlayan sınıfları sarmalamak için kullanılır.
Sözdizimi
template <class T>
class CAdapt
Parametreler
T
Uyarlanmış tür.
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| CAdapt::CAdapt | Oluşturucu. |
Ortak İşleçler
| Veri Akışı Adı | Açıklama |
|---|---|
| CAdapt::operator const T& | öğesine bir const başvuru m_Tdöndürür. |
| CAdapt::operator T& | öğesine bir başvuru m_Tdöndürür. |
| CAdapt::operator < | Uyarlanmış türün nesnesini ile m_Tkarşılaştırır. |
| CAdapt::operator = | uyarlanmış türdeki bir nesnesini öğesine m_Tatar. |
| CAdapt::operator == | Uyarlanmış türün nesnesini ile m_Tkarşılaştırır. |
Ortak Veri Üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
| CAdapt::m_T | Uyarlanan veri. |
Açıklamalar
CAdapt , nesnenin adresi dışında bir şey döndürmek için işlecin adresini (operator &) yeniden tanımlayan sınıfları sarmalamada kullanılan basit bir şablondur. Bu tür sınıflara örnek olarak ATL'nin CComBSTR, CComPtrve sınıfları ile CComQIPtr derleyici COM destek sınıfı verilebilir _com_ptr_t. Bu sınıfların tümü, veri üyelerinden birinin adresini (durumunda BSTR ve diğer sınıflar söz konusu olduğunda CComBSTRbir arabirim işaretçisi) döndürmek için işlecin adresini yeniden tanımlar.
CAdapt'nin birincil rolü, T sınıfı tarafından tanımlanan işlecin adresini gizlemek, ancak uyarlanmış sınıfın özelliklerini korumaktır. CAdaptT türünde bir genel üyeyi, m_T tutarak ve özelleştirmelerinin T türündeki nesneler gibi ele alınmasına izin vermek için dönüştürme işleçleri, karşılaştırma işleçleri CAdapt ve bir kopya oluşturucu tanımlayarak bu rolü gerçekleştirir.
Bağdaştırıcı sınıfı CAdapt kullanışlıdır çünkü bazı kapsayıcı stili sınıflar, içindeki nesnelerinin adreslerini işlecini kullanarak alabilmeyi bekler. İşlecin adresinin yeniden tanımlanması, genellikle derleme hatalarına neden olacak ve bunun "çalışmasını" bekleyen sınıfların uyarlanmamış türünün kullanımını önleyecek şekilde bu gereksinimi bozabilir. CAdapt bu sorunları çözmenin bir yolunu sağlar.
Genellikle, , , veya _com_ptr_t nesnelerini kapsayıcı stilinde bir sınıfta depolamak CComBSTRistediğinizde kullanırsınızCAdapt. CComQIPtrCComPtr Bu, C++11 Standard desteğinden önce C++ Standart Kitaplığı kapsayıcıları için en yaygın olarak gerekliydi, ancak C++11 Standart Kitaplık kapsayıcıları aşırı yüklenmiş operator&()türlerle otomatik olarak çalışır. Standart Kitaplık, nesnelerin gerçek adreslerini almak için dahili olarak std::addressof kullanarak bunu başarır.
Gereksinimler
Üst bilgi: atlcomcli.h
CAdapt::CAdapt
Oluşturucular, bir bağdaştırıcı nesnesinin varsayılan olarak yapılandırılmasına, uyarlanmış türdeki bir nesneden kopyalanmasına veya başka bir bağdaştırıcı nesnesinden kopyalanmasına izin verir.
CAdapt();
CAdapt(const T& rSrc);
CAdapt(const CAdapt& rSrCA);
CAdapt(T&& rSrCA); // (Visual Studio 2017)
CAdapt(CAdapt<T>&& rSrCA) noexcept; // (Visual Studio 2017)
Parametreler
rSrc
Yeni oluşturulacak bağdaştırıcı nesnesine kopyalanacak şekilde uyarlanan türün değişkeni.
rSrCA
İçerdiği verilerin yeni oluşturulacak bağdaştırıcı nesnesine kopyalanması (veya taşınması) gereken bir bağdaştırıcı nesnesi.
CAdapt::m_T
Uyarlanan verileri tutar.
T m_T;
Açıklamalar
Bu public veri üyesine doğrudan veya dolaylı olarak işleç sabit T&ve işleç T& ile erişilebilir.
CAdapt::operator const T&
m_T üyesine başvuru const döndürerek bağdaştırıcı nesnesinin T türünde bir nesneymiş gibi değerlendirilmesini sağlar.
operator const T&() const;
Dönüş Değeri
öğesine const bir başvuru m_T.
CAdapt::operator T&
m_T üyesine başvuru döndürerek bağdaştırıcı nesnesinin T türünde bir nesneymiş gibi değerlendirilmesini sağlar.
operator T&();
Dönüş Değeri
öğesine bir başvuru m_T.
CAdapt::operator <
Uyarlanmış türün nesnesini m_T ile karşılaştırır.
bool operator<(const T& rSrc) const;
Parametreler
rSrc
Karşılaştırılacak nesneye başvuru.
Dönüş Değeri
ile rSrc arasındaki m_T karşılaştırmanın sonucu.
CAdapt::operator =
Atama işleci, rSrc bağımsız değişkenini veri üyesi m_T atar ve geçerli bağdaştırıcı nesnesini döndürür.
CAdapt& operator= (const T& rSrc);
CAdapt& operator= (T&& rSrCA); // (Visual Studio 2017)
CAdapt& operator= (CAdapt<T>&& rSrCA) noexcept; // (Visual Studio 2017)
Parametreler
rSrc
Kopyalanacak uyarlanmış türde bir nesneye başvuru.
rSrCA
Taşınacak nesneye başvuru.
Dönüş Değeri
Geçerli nesneye başvuru.
CAdapt::operator ==
Uyarlanmış türün nesnesini m_T ile karşılaştırır.
bool operator== (const T& rSrc) const;
Parametreler
rSrc
Karşılaştırılacak nesneye başvuru.
Dönüş Değeri
m_T ile rSrc arasındaki karşılaştırmanın sonucu.