日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++的类型转换

發布時間:2025/6/15 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++的类型转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1、類型轉換名稱和語法

????C風格的強制類型轉換(Type Cast)很簡單,不管什么類型的轉換統統是:

????TYPE b = (TYPE)a???

????C++風格的類型轉換提供了4種類型轉換操作符來應對不同場合的應用。

   static_cast???????????? 靜態類型轉換。如int轉換成char

???????????reinterpreter_cast 重新解釋類型

   ???dynamic_cast ????? 命 名上理解是動態類型轉換。如子類和父類之間的多態類型轉換。

???????????const_cast ??????????字面上理解就是去const屬性。

????4種類型轉換的格式:

????TYPE B = static_cast<TYPE> (a)??

2、類型轉換一般性介紹

? ? 4中類型轉化介紹??

??1)static_cast<>() 靜態類型轉換,編譯的時c++編譯器會做類型檢查;

????????基本類型能轉換 但是不能轉換指針類型

????2)若不同類型之間,進行強制類型轉換,用reinterpret_cast<>() 進行重新解釋

????3)dynamic_cast<>(),動態類型轉換,安全的基類和子類之間轉換;運行時類型檢查 (C++特有的)

? ? 4)const_cast<>(),去除變量的只讀屬性(C++特有的),變量的類型必須是指針,指針指向的內存空間可被修改

? ? 一般性結論

????C語言中 ?能隱式類型轉換的,在c++中可用 static_cast<>()進行類型轉換。因C++編譯器在編譯檢查一般都能通過;

????C語言中不能隱式類型轉換的,在c++中可以用 reinterpret_cast<>() 進行強行類型 解釋。

????static_cast<>()和reinterpret_cast<>() 基本上把C語言中的 強制類型轉換給覆蓋

????reinterpret_cast<>()很難保證移植性。

3、典型案例

代碼中包含了4中類型轉化的實例,以及注意點。 ?

#include<iostream> using namespace std;class Animal { public:virtual void action(){cout<<"the action is animal's "<<endl;} };class Dog:public Animal { public:virtual void action(){cout<<"the action is dog's "<<endl;}void doSwim(){cout<<"the dog is swimming..."<<endl;} };class Cat:public Animal { public:virtual void action(){cout<<"the action is cat's "<<endl;}void doTree(){cout<<"the cat is claming tree..."<<endl;} };class Desk { public:void action(){cout<<"this is Desk, not belong Animal"<<endl;} };void ObjPlay(Animal *animl) {animl->action();Dog *dog = dynamic_cast<Dog *>(animl);if(dog!=NULL) //判斷是不是dog{dog->action();dog->doSwim();}Cat *cat = dynamic_cast<Cat *>(animl);if(cat!=NULL) //判斷是不是cat{cat->action();cat->doTree();}cout<<"func ObjPlay is exit!!!\n"<<endl; }//典型用法 把形參的只讀屬性去掉 void Opbuf(const char *p) {cout << p << endl;//char *p2 = p; err:const char *不能初始化為char *//p[0] = 'b'; err:必須是可修改的左值char *p2 = const_cast<char*>(p); //去除只讀的屬相p2[0] = 'b';cout << p << endl; }int main() {//靜態類型轉化 static_cast<>()double d = 3.14159;int i1,i2;i1 = d; //C中的隱式類型轉化i2 = static_cast<int>(d); //C++中的靜態類型轉化cout<<"C中類型轉化:"<<i1<<endl;cout<<"C++中類型轉化:"<<i2<<endl;//重新解釋類型reinterpret_cast<>()char *p = "abcd";int *p1 = NULL;int *p2 = NULL;p1 = (int *)p; //C中強制類型轉化//p2 = static_cast<int *>(p); 編譯報錯,類型轉化錯誤,靜態類型不能轉化指針p2 = reinterpret_cast<int *>(p); //C++中的重新解釋類型cout<<"C中類型轉化"<<hex<<*p1<<endl;cout<<"C++中類型轉化:"<<hex<<*p2<<endl;//動態類型轉換 dynamic_cast<>()Animal an;Animal *pAn = &an;ObjPlay(pAn);Dog dog;Dog *pDog = &dog;ObjPlay(pDog);Cat cat;Cat *pCat = &cat;ObjPlay(pCat);Desk desk;Desk *pDesk = &desk;//Animal *pAn = dynamic_cast<Animal*>(pDesk); 不同的基類指針之間不能相互轉化,安全//去除變量的只讀屬性,const_cast<>(),此類型必須是指針char buf[100] = "aaaaaaaaaaaa";//Opbuf(buf);//要保證指針所執行的內存空間能修改才行 若不能修改 還是會引起程序異常//Opbuf("dddddddddddsssssssssssssss");system("pause");return 0; }

?

?

?

?

轉載于:https://my.oschina.net/u/1783725/blog/700970

總結

以上是生活随笔為你收集整理的C++的类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 激情片 | 国产精彩视频 | 国产成人精品999在线观看 | 午夜久久视频 | 99热综合 | 亚洲AV无码一区二区三区性 | 日本在线网站 | 91福利在线播放 | 亲子伦视频一区二区三区 | 中文字幕校园春色 | 日韩欧美视频一区二区三区 | 成人在线你懂的 | 激情福利社 | 一级少妇精品久久久久久久 | xxxx国产视频 | 欧美女人天堂 | 99热这里只有精品1 亚洲人交配视频 | 国产一区美女 | 久久人成 | 综合久久伊人 | 亚洲欧美日韩另类 | 男人天堂亚洲天堂 | 国产成人啪精品午夜在线观看 | 91精品国产综合久久久久久 | 91香蕉国产 | 亚洲Av无码成人精品区伊人 | 污版视频在线观看 | 天天射夜夜撸 | 亚洲自拍天堂 | 天天鲁一鲁摸一摸爽一爽 | 亚洲精品中文字幕 | 久久精品99久久久久久久久 | 中文字幕无码不卡免费视频 | 一级片视频免费 | 日韩一级二级三级 | 亚洲成人少妇 | 久久福利国产 | www.日批 | 成人福利视频导航 | 最新地址av| 草草福利视频 | 北条麻纪在线观看aⅴ | 成人在线国产精品 | 中国a级黄色片 | 国产成人精品一区二三区 | 91香蕉国产 | 免费看黄在线看 | 欧美 日韩 国产 在线观看 | 青草青草视频 | 一区二区三区在线观 | av高清一区 | 日韩爱爱片 | 色小姐综合网 | 爱情岛论坛永久入口 | 日韩在线不卡一区 | 中文字幕国产精品 | 男女插插插视频 | 无码精品久久久久久久 | 韩国中文三级hd字幕 | 久久首页 | 国产精品xxx视频 | 色综合色综合色综合 | 9i看片成人免费看片 | 黄色免费av网站 | 69xxx少妇按摩视频 | 婷婷在线综合 | 丰满人妻一区二区三区精品高清 | aaaa毛片 | 国产视频一区二区在线观看 | 污污在线看 | 国产xxxxx视频 | 日韩一级二级视频 | 国产一级精品视频 | 男朋友是消防员第一季 | 综合激情视频 | 丰满双乳秘书被老板狂揉捏 | 国产+日韩+欧美 | 激情欧美综合 | www.成人精品| www.777含羞草| 天堂аⅴ在线最新版在线 | 操综合网 | 91精品免费在线 | 精品在线视频免费 | 日本后进式猛烈xx00动态图 | 午夜影院久久 | 久久天堂av | 一级特黄特色的免费大片视频 | 丰满av| 国产精品女人和拘 | 欧美交换 | 国产激情免费 | 成人动漫在线观看视频 | 玖草在线视频 | 亚洲图片视频在线 | 亚州激情视频 | 高潮久久久| 精品黑人一区二区三区国语馆 | 五十路av在线 |