System::SmartPtr::Cast yöntemi

SmartPtr::Cast() const method

İşaretçiyi kendi tipine dönüştürür.

template<class Y,typename Check> std::enable_if_t<std::is_same<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParameterAçıklama
Yİşaret edilen nesnenin hedef tipi.
CheckDönüştürme mevcut değilse istisna fırlatmak için bayraklar.

ReturnValue

Her zaman paylaşımlı modda olan, değiştirilmiş tipteki işaretçi.

Ayrıca Bakınız

SmartPtr::Cast() const method

İşaretçiyi static_cast kullanarak temel tipe dönüştürür.

template<class Y,typename Check> std::enable_if_t<!std::is_same<Y, T>::value &&std::is_base_of<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParameterAçıklama
Yİşaret edilen nesnenin hedef tipi.
CheckDönüştürme mevcut değilse istisna fırlatmak için bayraklar.

ReturnValue

Her zaman paylaşımlı modda olan, değiştirilmiş tipteki işaretçi.

Ayrıca Bakınız

SmartPtr::Cast() const method

İşaretçiyi dynamic_cast kullanarak türetilmiş tipe dönüştürür.

template<class Y,typename Check> std::enable_if_t<Check::value &&!std::is_same<Y, T>::value &&!std::is_base_of<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParameterAçıklama
Yİşaret edilen nesnenin hedef tipi.
CheckDönüştürme mevcut değilse istisna fırlatmak için bayraklar.

ReturnValue

Her zaman paylaşımlı kipte olan, değiştirilmiş tipte işaretçi. Dönüştürme mevcut değilse InvalidCastException fırlatır.

Ayrıca Bakınız

SmartPtr::Cast() const method

İşaretçiyi dynamic_cast kullanarak türetilmiş tipe dönüştürür.

template<class Y,typename Check> std::enable_if_t<!Check::value &&!std::is_same<Y, T>::value &&!std::is_base_of<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParameterAçıklama
Yİşaret edilen nesnenin hedef tipi.
CheckDönüştürme mevcut değilse istisna fırlatmak için bayraklar.

ReturnValue

Her zaman paylaşımlı kipte olan, değiştirilmiş tipte işaretçi. Dönüştürme mevcut değilse nullptr döndürür.

Ayrıca Bakınız