2 回答

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

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