const_cast
去除指標或者引用的const屬性
轉化常量指標為非常量指標,並且仍指向原來的物件
轉化常用引用為非常量引用,並且人指向原來的物件
一般用於修改指標
static_cast
轉換資料型別,類的上下行轉換。
轉換資料型別,由於沒有執行時型別檢擦來保證轉換的安全性,不安全
類的上下行轉換,由於沒有執行時型別檢擦來保證轉換的安全性,不安全
static_cast不能去除原有const volatile, __unaligned屬性
轉換失敗會發生編譯錯誤
c++的任何的隱式轉換都使用static_cast轉換
dynamic_static
安全的上下行轉換。
上行轉換(子類到基類的指標轉換),dyanmic_cast成功轉換,執行正常且輸出預期結果。而下行轉換,dynamic_cast在轉換時不報錯,但是輸出是空指標,rtti在執行期間進行了型別檢查,是安全的,於是輸出是null
reinterpret_cast
進行無關型別轉換
用在任意的指標間的轉換,任意引用間的轉換,指標和足夠大的整形之間的轉換,整形到指標的轉換。
失敗回發生編譯錯誤。
C 之四種強制型別轉換
c 之四種型別轉換加粗樣式 c 是一種強型別的語言,在實際編碼過程中,經常需要用到型別轉換。在資料型別轉換過程中,c 對c相容,使用顯式或者隱式轉換,顯式是直接用小括號強制轉換,type a type b,隱式是直接 float b 0.5 int a b 這樣隱式截斷這樣隱式的截斷是向 0 取整。...
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...