類型轉(zhuǎn)換

類型轉(zhuǎn)換:

static_cast

static_cast:static_cast < type-id > ( expression )該運算符把expression轉(zhuǎn)換為type-id類型弛针,但沒有運行時類型檢查來保證轉(zhuǎn)換的安全性展运。
情況1:void指針->其他類型指針
情況2:改變通常的標準轉(zhuǎn)換
情況3:避免出現(xiàn)可能多種轉(zhuǎn)換的歧義
它主要有如下幾種用法:
用于類層次結(jié)構(gòu)中基類和子類之間指針或引用的轉(zhuǎn)換登疗。進行上行轉(zhuǎn)換(把子類的指針或引用轉(zhuǎn)換成基類表示)是安全的搀菩;進行下行轉(zhuǎn)換(把基類指針或引用轉(zhuǎn)換成子類指針或引用)時倍奢,由于沒有動態(tài)類型檢查鲁冯,所以是不安全的鹦筹。
用于基本數(shù)據(jù)類型之間的轉(zhuǎn)換介衔,如把int轉(zhuǎn)換成char,把int轉(zhuǎn)換成enum脚翘。這種轉(zhuǎn)換的安全性也要開發(fā)人員來保證灼卢。
把void指針轉(zhuǎn)換成目標類型的指針(不安全!!)
把任何類型的表達式轉(zhuǎn)換成void類型。

dynamic_cast

dynamic_cast:dynamic_cast < type-id > ( expression )
該運算符把expression轉(zhuǎn)換成type-id類型的對象来农。Type-id必須是類的指針鞋真、類的引用或者void *;如果type-id是類指針類型沃于,那么expression也必須是一個指針涩咖,如果type-id是一個引用,那么expression也必須是一個引用繁莹。當無法使用virtual函數(shù)的時候,必須使用dynamic_cast進行轉(zhuǎn)換
dynamic_cast主要用于類層次間的上行轉(zhuǎn)換和下行轉(zhuǎn)換檩互,還可以用于類之間的交叉轉(zhuǎn)換。
在類層次間進行上行轉(zhuǎn)換時蒋困,dynamic_cast和static_cast的效果是一樣的盾似;在進行下行轉(zhuǎn)換時,dynamic_cast具有類型檢查的功能雪标,比static_cast更安全零院。

reinpreter_cast

reinpreter_cast:reinpreter_cast<type-id> (expression)
type-id必須是一個指針、引用村刨、算術(shù)類型告抄、函數(shù)指針或者成員指針。它可以把一個指針轉(zhuǎn)換成一個整數(shù)嵌牺,也可以把一個整數(shù)轉(zhuǎn)換成一個指針(先把一個指針轉(zhuǎn)換成一個整數(shù)打洼,在把該整數(shù)轉(zhuǎn)換成原類型的指針龄糊,還可以得到原先的指針值)。

const_cast

const_cast:const_cast<type_id> (expression)
該運算符用來修改類型的const或volatile屬性募疮。除了const 或volatile修飾之外炫惩, type_id和expression的類型是一樣的。
常量指針被轉(zhuǎn)化成非常量指針阿浓,并且仍然指向原來的對象他嚷;常量引用被轉(zhuǎn)換成非常量引用,并且仍然指向原來的對象芭毙;常量對象被轉(zhuǎn)換成非常量對象筋蓖。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市退敦,隨后出現(xiàn)的幾起案子粘咖,更是在濱河造成了極大的恐慌,老刑警劉巖侈百,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓮下,死亡現(xiàn)場離奇詭異,居然都是意外死亡设哗,警方通過查閱死者的電腦和手機唱捣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門两蟀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來网梢,“玉大人,你說我怎么就攤上這事赂毯≌铰玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵党涕,是天一觀的道長烦感。 經(jīng)常有香客問我,道長膛堤,這世上最難降的妖魔是什么手趣? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮肥荔,結(jié)果婚禮上绿渣,老公的妹妹穿的比我還像新娘。我一直安慰自己燕耿,他們只是感情好中符,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著誉帅,像睡著了一般淀散。 火紅的嫁衣襯著肌膚如雪右莱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天档插,我揣著相機與錄音慢蜓,去河邊找鬼。 笑死郭膛,一個胖子當著我的面吹牛胀瞪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播饲鄙,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼凄诞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了忍级?” 一聲冷哼從身側(cè)響起帆谍,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轴咱,沒想到半個月后汛蝙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡朴肺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年窖剑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戈稿。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡西土,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鞍盗,到底是詐尸還是另有隱情需了,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布般甲,位于F島的核電站肋乍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏敷存。R本人自食惡果不足惜墓造,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锚烦。 院中可真熱鬧觅闽,春花似錦、人聲如沸挽牢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禽拔。三九已至刘离,卻和暖如春室叉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硫惕。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工茧痕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恼除。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓踪旷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親豁辉。 傳聞我的和親對象是個殘疾皇子令野,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • C++類型轉(zhuǎn)換總結(jié) 本章內(nèi)容:1 前言2 static_cast3 dynamic_cast4 const_cas...
    Haley_2013閱讀 952評論 0 50
  • 本文根據(jù)眾多互聯(lián)網(wǎng)博客內(nèi)容整理后形成,引用內(nèi)容的版權(quán)歸原始作者所有徽级,僅限于學(xué)習(xí)研究使用气破,不得用于任何商業(yè)用途。 首...
    深紅的眼眸閱讀 1,630評論 0 1
  • 文章轉(zhuǎn)載自c的四種類型轉(zhuǎn)換 使用標準C++的類型轉(zhuǎn)換符:static_cast餐抢、dynamic_cast现使、rein...
    Yihulee閱讀 1,386評論 0 1
  • 1) static_cast<類型說明符> (變量或表達式)在C++語言中static_cast用于數(shù)據(jù)類型的強制...
    Mr_Doer閱讀 11,394評論 0 2
  • 隱式類型轉(zhuǎn)換: C++的隱式轉(zhuǎn)換發(fā)生在以下四種情況: 在混合類型的算術(shù)表達式中。 在表達式賦值中旷痕。 表達式傳給函數(shù)...
    CapJon閱讀 644評論 1 2