const_cast operatoridan const_cast atributini olib tashlash uchun potentsial xavfli vosita ekanligini ta'kidlash kerak. Shuning uchun uni juda ehtiyotkorlik bilan ko'rib chiqing.
Va yana. Faqat const_cast operatori const-atributni o'chirishga qodir. Boshqa so'zlar bilan aytganda, na dynamic_cast, na static_cast, na reinterpret_cast const o'zgartirish uchun foydalanish mumkin emas-ob'ekt xususiyati.
Operator static_cast
Operator static_cast unlimorfik olib tashlash turlarini amalga oshiradi.
Operator static_cast unlimorfik olib tashlash turlarini amalga oshiradi. Har qanday standart konvertatsiya qilish uchun foydalanish mumkin. Shu bilan birga, dastur davomida maqbullik uchun hech qanday tekshiruv o'tkazilmaydi. static_cast operatori quyidagi umumiy ro'yxatga olish formatiga ega.
static_cast (expr) Bu erda type elementi yangi turdagi olib tashlash operatsiyasini belgilaydi va expr elementi bu yangi turga olib keladigan ifodani bildiradi.
static_cast operatori, aslida, asl turdagi operatorni almashtiradi. U faqat noaniq o'zgarishlarni amalga oshiradi. Misol uchun, quyidagi dasturni amalga oshirishda float turidagi o'zgaruvchi int turiga olib keladi.
// Operator static_cast foydalanish.
#include using namespace std;
int main(){
int i;
float f;
f = 199.22F;
i = static_cast (f);
cout << i;
return 0;}
Operator reinterpret_cast
reinterpret_cast operatori asosiy turdagi o'zgarishlarni amalga oshiradi.
reinterpret_cast operatori bir turni tubdan o'zgartiradi. Misol uchun, bu butun bir qiymati va butun qiymati ichiga pointer aylantirish uchun foydalanish mumkin — a pointer. Bundan tashqari, irsiy ravishda mos kelmaydigan ko'rsatgich turlarini olib kelish uchun ham foydalanish mumkin. Ushbu operator quyidagi umumiy ro'yxatga olish formatiga ega.
reinterpret_cast (expr) Bu erda type elementi yangi turdagi olib tashlash operatsiyasini belgilaydi va expr elementi bu yangi turga olib keladigan ifodani bildiradi.