2 回答

TA貢獻1828條經(jīng)驗 獲得超3個贊
強制轉(zhuǎn)化,就是把一個類型的變量a強制賦值給另外類型的變量b,如果能成功,變量b就具有一個值,如果不能成功就拋出一個錯誤。
C++共有四種轉(zhuǎn)換:static_cast,dynamic_cast,reinterpret_cast,const_cast
static_cast相當于傳統(tǒng)的C語言里的強制轉(zhuǎn)換,效果就相當于加個括號:int a=(long)b;
建議用搜索一下 static_cast 這個詞,你能學到更多東西。

TA貢獻1886條經(jīng)驗 獲得超2個贊
static_cast在C++中用于將表達式的值轉(zhuǎn)換為指定的類型,但沒有運行時類型檢查來保證轉(zhuǎn)換的安全性。
主要有以下用法:
(1)用于類層次結(jié)構(gòu)中基類(父類)和派生類(子類)之間指針或引用的轉(zhuǎn)換。
(2)用于基本數(shù)據(jù)類型之間的轉(zhuǎn)換,如把int轉(zhuǎn)換成char,把int轉(zhuǎn)換成enum。這種轉(zhuǎn)換的安全性也要開發(fā)人員來保證。
(3)把空指針轉(zhuǎn)換成目標類型的空指針。
(4)把任何類型的表達式轉(zhuǎn)換成void類型。
注意:static_cast不能轉(zhuǎn)換掉expression的const、volatile、或者__unaligned屬性。
添加回答
舉報