青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

c++初學(xué)者

專注技術(shù)開(kāi)發(fā)

[ 轉(zhuǎn)]C++類型轉(zhuǎn)換符的使用

C++的四個(gè)類型轉(zhuǎn)換運(yùn)算符已經(jīng)有很久了,但一直沒(méi)有弄清楚它們的用法,今天看到一本書上的解釋,才大致地的了解了其具體的用法.

具體歸納如下:

reinterpret_cast

該函數(shù)將一個(gè)類型的指針轉(zhuǎn)換為另一個(gè)類型的指針.
這種轉(zhuǎn)換不用修改指針變量值存放格式(不改變指針變量值),只需在編譯時(shí)重新解釋指針的類型就可做到.
reinterpret_cast 可以將指針值轉(zhuǎn)換為一個(gè)整型數(shù),但不能用于非指針類型的轉(zhuǎn)換.
例:
//基本類型指針的類型轉(zhuǎn)換
double d=9.2;
double* pd = &d;
int *pi = reinterpret_cast<int*>(pd);  //相當(dāng)于int *pi = (int*)pd;

//不相關(guān)的類的指針的類型轉(zhuǎn)換
class A{};
class B{};
A* pa = new A;
B* pb = reinterpret_cast<B*>(pa);   //相當(dāng)于B* pb = (B*)pa;

//指針轉(zhuǎn)換為整數(shù)
long l = reinterpret_cast<long>(pi);   //相當(dāng)于long l = (long)pi;


const_cast

該函數(shù)用于去除指針變量的常量屬性,將它轉(zhuǎn)換為一個(gè)對(duì)應(yīng)指針類型的普通變量。反過(guò)來(lái),也可以將一個(gè)非常量的指針變量轉(zhuǎn)換為一個(gè)常指針變量。
這種轉(zhuǎn)換是在編譯期間做出的類型更改。
例:
const int* pci = 0;
int* pk = const_cast<int*>(pci);  //相當(dāng)于int* pk = (int*)pci;

const A* pca = new A;
A* pa = const_cast<A*>(pca);     //相當(dāng)于A* pa = (A*)pca;

出于安全性考慮,const_cast無(wú)法將非指針的常量轉(zhuǎn)換為普通變量。


static_cast

該函數(shù)主要用于基本類型之間和具有繼承關(guān)系的類型之間的轉(zhuǎn)換。
這種轉(zhuǎn)換一般會(huì)更改變量的內(nèi)部表示方式,因此,static_cast應(yīng)用于指針類型轉(zhuǎn)換沒(méi)有太大意義。
例:
//基本類型轉(zhuǎn)換
int i=0;
double d = static_cast<double>(i);  //相當(dāng)于 double d = (double)i;

//轉(zhuǎn)換繼承類的對(duì)象為基類對(duì)象
class Base{};
class Derived : public Base{};
Derived d;
Base b = static_cast<Base>(d);     //相當(dāng)于 Base b = (Base)d;


dynamic_cast

它與static_cast相對(duì),是動(dòng)態(tài)轉(zhuǎn)換。
這種轉(zhuǎn)換是在運(yùn)行時(shí)進(jìn)行轉(zhuǎn)換分析的,并非在編譯時(shí)進(jìn)行,明顯區(qū)別于上面三個(gè)類型轉(zhuǎn)換操作。
該函數(shù)只能在繼承類對(duì)象的指針之間或引用之間進(jìn)行類型轉(zhuǎn)換。進(jìn)行轉(zhuǎn)換時(shí),會(huì)根據(jù)當(dāng)前運(yùn)行時(shí)類型信息,判斷類型對(duì)象之間的轉(zhuǎn)換是否合法。dynamic_cast的指針轉(zhuǎn)換失敗,可通過(guò)是否為null檢測(cè),引用轉(zhuǎn)換失敗則拋出一個(gè)bad_cast異常。
例:
class Base{};
class Derived : public Base{};

//派生類指針轉(zhuǎn)換為基類指針
Derived *pd = new Derived;
Base *pb = dynamic_cast<Base*>(pd);

if (!pb)
 cout << "類型轉(zhuǎn)換失敗" << endl;

//沒(méi)有繼承關(guān)系,但被轉(zhuǎn)換類有虛函數(shù)
class A(virtual ~A();)   //有虛函數(shù)
class B{}:
A* pa = new A;
B* pb  = dynamic_cast<B*>(pa);

如果對(duì)無(wú)繼承關(guān)系或者沒(méi)有虛函數(shù)的對(duì)象指針進(jìn)行轉(zhuǎn)換、基本類型指針轉(zhuǎn)換以及基類指針轉(zhuǎn)換為派生類指針,都不能通過(guò)編譯。

posted on 2008-09-27 18:13 大海 閱讀(698) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品视频啊美女在线直播| 99综合在线| 国产欧美日韩三区| 亚洲精选91| 亚洲欧洲另类国产综合| 久久国产成人| 欧美资源在线| 国产精品毛片大码女人| 99热在这里有精品免费| 亚洲国产精品t66y| 久久久国产成人精品| 性色一区二区三区| 国产精品白丝黑袜喷水久久久| 亚洲国产成人久久| 亚洲国产成人精品视频| 久久久999精品免费| 久久国产精品电影| 国产日本欧美视频| 羞羞答答国产精品www一本| 亚洲欧美日韩综合一区| 欧美日韩国产首页| 亚洲精品乱码久久久久久按摩观| 亚洲精品在线三区| 欧美国产一区二区在线观看 | 欧美激情一区二区三区全黄 | 91久久极品少妇xxxxⅹ软件| 在线成人免费观看| 久久青青草原一区二区| 麻豆精品精品国产自在97香蕉| 狠狠干成人综合网| 久久精品国产欧美亚洲人人爽 | 欧美一区免费视频| 国产日韩精品久久| 欧美在线高清| 免费在线亚洲| 99re6热在线精品视频播放速度| 欧美α欧美αv大片| 亚洲人成7777| 亚洲女人av| 国产日韩在线亚洲字幕中文| 欧美一区=区| 欧美国产免费| av成人免费观看| 国产精品毛片在线| 久久九九99视频| 亚洲国产精品999| 中文一区在线| 国产日韩在线一区| 欧美成人自拍| 亚洲在线日韩| 欧美福利视频网站| 亚洲综合首页| 国内外成人免费视频| 蜜臀a∨国产成人精品| 日韩视频免费大全中文字幕| 久久爱另类一区二区小说| 激情久久久久久| 欧美日韩国产在线看| 亚洲女同性videos| 欧美国产另类| 校园激情久久| 亚洲国产高清在线| 国产精品天天看| 欧美gay视频激情| 亚洲伊人第一页| 亚洲缚视频在线观看| 欧美在线免费播放| 亚洲精选91| 国产亚洲一区精品| 欧美日韩在线第一页| 久久久国产亚洲精品| 一区二区av| 亚洲电影欧美电影有声小说| 欧美在线视频观看| 日韩亚洲精品在线| 影音先锋亚洲一区| 国产女主播一区二区| 欧美日韩不卡视频| 久久在线精品| 久久av免费一区| 在线视频欧美日韩| 亚洲乱码国产乱码精品精可以看| 久久久久一区| 久久成人av少妇免费| 在线综合亚洲欧美在线视频| 亚洲欧洲一区| 狠狠色狠狠色综合日日小说| 国产精品久久影院| 欧美女主播在线| 免费视频一区| 久热精品视频在线| 久久精品国产综合| 小黄鸭视频精品导航| 一本色道久久综合亚洲二区三区| 亚洲激情另类| 亚洲国产精品一区二区三区| 免费不卡亚洲欧美| 毛片av中文字幕一区二区| 久久av一区| 午夜精品视频| 欧美一区二区三区精品 | 久久国产精品久久久久久久久久 | 国内不卡一区二区三区| 国产精品国色综合久久| 国产精品盗摄一区二区三区| 欧美日韩免费视频| 欧美日韩一区视频| 欧美三级不卡| 国产精品成人av性教育| 国产精品白丝黑袜喷水久久久 | 1204国产成人精品视频| 在线成人中文字幕| 亚洲激情第一区| 亚洲人成在线观看| 在线一区二区三区做爰视频网站 | 久久久亚洲国产天美传媒修理工| 校园春色综合网| 久久九九99| 久热爱精品视频线路一| 欧美成人中文字幕在线| 亚洲国产一区二区三区a毛片| 亚洲激情不卡| 妖精成人www高清在线观看| 亚洲在线观看免费| 久久久久国产精品厨房| 老司机67194精品线观看| 欧美福利视频| 国产精品狠色婷| 国产亚洲一区二区在线观看 | 国产一区二区成人久久免费影院| 国内精品久久久久影院 日本资源| 在线观看国产精品网站| 日韩午夜精品| 性欧美大战久久久久久久免费观看| 久久电影一区| 亚洲欧洲一级| 亚洲欧美激情四射在线日 | 日韩亚洲精品在线| 亚洲欧美日韩专区| 欧美.com| 亚洲天堂网在线观看| 久久蜜桃精品| 欧美午夜免费影院| 永久免费精品影视网站| av成人免费观看| 久久免费高清| 99国产精品视频免费观看一公开| 午夜精品久久久久久久99樱桃| 久久在线播放| 国产精品一区二区久久久久| 在线免费精品视频| 亚洲欧美一区二区三区久久 | 久久精品国产久精国产思思| 欧美日韩第一页| 国内精品视频在线观看| 亚洲一区二区三区四区中文| 嫩模写真一区二区三区三州| 中文欧美在线视频| 欧美成人激情在线| 国产亚洲一区二区在线观看| 在线一区免费观看| 欧美成人一区二免费视频软件| 亚洲综合成人婷婷小说| 欧美精品一区三区| 亚洲国产福利在线| 久久久久久日产精品| 亚洲婷婷在线| 欧美日本久久| 亚洲精品护士| 欧美成人福利视频| 久久精品国产精品| 国产啪精品视频| 亚洲综合视频1区| 亚洲精品美女在线观看| 噜噜噜91成人网| 亚洲第一网站免费视频| 久久久www成人免费精品| 一区二区三区视频免费在线观看| 欧美大学生性色视频| 亚洲国产91| 欧美不卡在线| 久久夜色撩人精品| 精品福利免费观看| 久久久久国产免费免费| 香蕉久久a毛片| 国产亚洲精品久久久| 久久成人精品电影| 欧美一区日本一区韩国一区| 国产精自产拍久久久久久| 欧美一二三视频| 先锋资源久久| 国产一区二区三区在线观看免费| 久久成人综合网| 欧美一级淫片aaaaaaa视频| 国产日韩欧美一区二区三区四区| 午夜视频在线观看一区| 亚洲欧美一区二区视频| 国产一区二区三区在线观看视频| 久久婷婷久久| 老牛影视一区二区三区|