Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет232/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   228   229   230   231   232   233   234   235   ...   465
Байланысты:
аибм сплюс

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; 


Достарыңызбен бөлісу:
1   ...   228   229   230   231   232   233   234   235   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет