static_cast қолданылған жағдайда компилятордың мини-
малды түрде тексеру жүргізуіне, ал программалаушының
reinterpret_cast көмегімен қауіпті түрлендірулерді белгілеуіне мүмкіндік береді. Түрлендірудің
нəтижесі программалаушы жауапкершілігіне жүктеледі.
Типті динамикалық түрде анықтау Программаның орындалу барысында (RTTI) типті анықтау механизмі
ағымдағы уақыт мезетінде нұсқауыш қандай типке сілтеме жасап тұрғанын
анықтауға жəне объектілердің типтерін салыстыруға мүмкіндік береді. RTTI
механизмін пайдалану үшін тіл стандартына
typeid операциясы жəне
type_info 1 класы енгізілген.
typeid операциясының форматы:
typeid (тип) typeid (өрнек) Операция параметр ретінде типтің атауын немесе өрнекті қабылдап,
тип туралы ақпаратты сақтайтын
type_info класының объектісіне сілтеме
қайтарады. Егер операция операндтың типін анықтай алмаса,
bad_typeid аластамасы туындайды.
Операнд полиморфты типке нұсқауыш немесе сілтеме болған кезде,
нəтиже тип туралы динамикалық ақпарат түрінде болады (яғни,
type_infо объектісінде дəл осы уақытта нұсқауыш сілтеме жасап тұрған объектінің типі
туралы ақпарат бар).
Егер операнд полиморфты емес типке сілтеме түріндегі өрнек болса, онда
type_infо объектісінде өрнек сілтеме жасайтын объектінің типі туралы емес,
өрнектің типі туралы мəлімет сақталады.
typeid операциясын мəліметтердің негізгі типтерімен де, туынды
типтерімен де пайдалануға болады.
type_info класы
тақырыптық файлында төмендегідей түрде
сипатталған:
class type_info{ public: virtual ~type_info(); bool operator==(const type_info& rhs) const;