用法:static_cast《型別說明符》 (變數或表示式)
作用:
double d =
3.1222
;int a = static_cast<
int>
(d);
舉例:
classa;
classb:
public a
;classc;
intmain()
注意:用法:const_cast(expression)
作用:去掉型別的const或volatile屬性
const base* bp =
newbase
;base* dp = const_cast
>
(bp)
;//不安全
舉例:
未定義行為:未定義行為是指c語言標準未做規定的行為。編譯器可能不會報錯,但是這些行為編譯器會自行處理,所以不同的編譯器會出現不同的結果,什麼都有可能發生,這是乙個極大的隱患,所以我們應該盡量避免這種情況的發生。
注意:
舉例:
#include
用法:dynamic_cast(expression) type-id必須是類指標,類引用或者void*
作用:用於將乙個父類的指標或引用轉化為子類的指標或引用(安全的向下轉型)
舉例:
class
注意:
C 四種強制型別轉換
c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...
C 四種強制型別轉換
1 概述 去const屬性用const cast。基本型別轉換用static cast。多型類之間的型別轉換用daynamic cast。不同型別的指標型別轉換用reinterpreter cast。2 詳解加示例 a const cast 用法 const cast 型別 表示式 用途 刪除con...
C 四種強制型別轉換
c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...