void print(int *p){ // Функция *p мəнін өзгертпейді
cout << *p;
}
const int *p;
...
/* print(p); Қате, өйткені p тұрақтыға нұсқауыш ретінде
жарияланған */
Программалаушы функцияның тұлғасында нұсқауыш сілтеме жасайтын
мəн өзгермейтініне сенімді болған жағдайда ғана,
const_cast
операциясы
қолданылады. Əрине, формалды параметрдің сипаттамасына
const
модифи-
каторын қосу мүмкіндігі болса, бұл əрекет функцияны шақыру кезінде типті
түрлендіруді қолдануға қарағанда дұрысырақ болып саналады.
dynamic_cast операциясы
Бұл операция иерархияның туыстас кластарының нұсқауыштарын,
негізінен, базалық класс нұсқауышын туынды класс нұсқауышына түрлендіру
үшін қолданылады, мұнда программаның орындалу барысында түрлендірудің
жасалу мүмкіндігі тексеріледі.
251
Операция форматы:
Достарыңызбен бөлісу: |