طريقة System::SmartPtr::Cast

SmartPtr::Cast() const method

يحوّل المؤشر إلى نوعه نفسه.

template<class Y,typename Check> std::enable_if_t<std::is_same<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
معاملالوصف
Yنوع الهدف للكائن المشار إليه.
Checkعلامات لإلقاء استثناء إذا لم يتوفر تحويل.

ReturnValue

مؤشر من نوع متغيّر يكون دائمًا في وضع المشاركة.

انظر أيضًا

SmartPtr::Cast() const method

يحوّل المؤشر إلى النوع الأساسي باستخدام static_cast.

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
معاملالوصف
Yنوع الهدف للكائن المشار إليه.
Checkعلامات لإلقاء استثناء إذا لم يتوفر تحويل.

ReturnValue

مؤشر من نوع متغيّر يكون دائمًا في وضع المشاركة.

انظر أيضًا

SmartPtr::Cast() const method

يحوّل المؤشر إلى النوع المشتق باستخدام dynamic_cast.

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
معاملالوصف
Yنوع الهدف للكائن المشار إليه.
Checkعلامات لإلقاء استثناء إذا لم يتوفر تحويل.

ReturnValue

مؤشر من نوع متغيّر يكون دائمًا في الوضع المشترك. يرمي InvalidCastException إذا لم يتوفر تحويل.

انظر أيضًا

SmartPtr::Cast() const method

يحوّل المؤشر إلى النوع المشتق باستخدام dynamic_cast.

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
معاملالوصف
Yنوع الهدف للكائن المشار إليه.
Checkعلامات لإلقاء استثناء إذا لم يتوفر تحويل.

ReturnValue

مؤشر من نوع متغيّر يكون دائمًا في الوضع المشترك. يُعيد nullptr إذا لم يتوفر تحويل.

انظر أيضًا