c++提供了四種新的型別轉換:
static_cast
const_cast
reinterpret_cast
dynamic_cast
1)staic_cast靜態強制;
不能在無關的指標之間進行static型別強制
class canimal
};class cgiraffe:public canimal
};int main(void)
2、const_cast型別強制
const_cast型別強制將乙個const變數變成乙個非const的等價形式
int main()
3、reinterpret_cast運算子
reinterpret_cast運算子用來將乙個型別指標轉變為另一種型別的指標,也用在將整開型量轉為指標,或將指標轉為整型量上;
int main()
4、dynamic_cast運算子
dynamic_cast的主要目的是:
1)它返回派生類物件的位址;
2)它測試基類指標是否指向下一尖括號<>中所指定型別的物件
dynamic_cast是乙個執行時型別資訊,dynamic_cast運算子將指向派生物件的基類部分的基類指標轉變為指向派生物件的派生類指標,dynamic_cast必須嚴格地指定與派生物件相同的類,或者它返回null指標;
class canimal
;class cgiraffe:public canimal
;class cgoat:public canimal
;int main()
C 提供了四種新的型別強制
static cast const cast reinterpret cast dynamic cast 1 staic cast靜態強制 code 不能在無關的指標之間進行static型別強制 code c class canimal class cgiraffe public canimal i...
四種C 型別轉換
1 static cast 用法 static cast type id expression 該運算子把expression轉換為type id型別,但沒有執行時型別檢查來保證轉換的安全性。它主要有如下幾種用法 用於類層次結構中基類和子類之間指標或引用的轉換。進行上行轉換 把子類的指標或引用轉換成...
C 四種強制型別轉換
c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...