C 之四種強制型別轉換

2021-10-04 05:29:26 字數 618 閱讀 2146

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...