c 四種強制型別轉換

2021-09-27 23:41:33 字數 719 閱讀 2537

看了一部分關於強制型別的轉換,感覺講的比較零散,做下關鍵資訊彙總:

一、c風格的型別轉換:

c風格的強制轉換風格如下:

typename b = (typename)a;

完全靠程式設計師的經驗對程式的結果負責。

二、c++風格的強制型別轉換函式

1、const_cast

這個轉換函式,可以去掉const變數的const屬性,關鍵是:有什麼用!

#includeusing namespace std;

int func(int& a,int& b)

int main()

};class b : public a

};class c : public b

};int main()

p->show();

cin.get();

return 0;

}

dynamic_cast對於基類的指標轉換為派生類的指標的場景,會返回空指標。對於基類引用轉換為派生類引用的場景,會丟擲std::bac_cast異常。可在rtti場景下保證程式型別轉換的安全性。

4、reinterpret_cast

基於記憶體位的型別轉換,強制轉換,不計後果,一定能夠編譯通過。安全性全靠程式設計師自己檢查。

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