基礎知識 說一說c 中四種cast轉換

2021-09-20 16:09:36 字數 601 閱讀 4889

c++中四種型別轉換是:static_cast, dynamic_cast, const_cast, reinterpret_cast

1、const_cast

用於將const變數轉為非const

2、static_cast

用於各種隱式轉換,比如非const轉const,void*轉指標等, static_cast能用於多型向上轉化,如果向下轉能成功但是不安全,結果未知;

3、dynamic_cast

用於動態型別轉換。只能用於含有虛函式的類,用於類層次間的向上和向下轉化。只能轉指標或引用。向下轉化時,如果是非法的對於指標返回null,對於引用拋異常。要深入了解內部轉換的原理。

向上轉換:指的是子類向基類的轉換

向下轉換:指的是基類向子類的轉換

它通過判斷在執行到該語句的時候變數的執行時型別和要轉換的型別是否相同來判斷是否能夠進行向下轉換。

4、reinterpret_cast

幾乎什麼都可以轉,比如將int轉指標,可能會出問題,盡量少用;

5、為什麼不使用c的強制轉換?

c的強制轉換表面上看起來功能強大什麼都能轉,但是轉化不夠明確,不能進行錯誤檢查,容易出錯。

詳細解釋:

說一說位元組序的基礎知識

codingbook2020 今天我們來學習一下在網路程式設計中乙個很重要的問題 位元組序。在使用網路進行程式設計中會碰到的乙個問題是位元組序的問題,這在基於單機或者同型別機器進行開發的過程中很少遇到。由於網路的特點是將 internet 上不同的網路裝置和主機進行連線和通訊,這決定了使用網路進行開...

C 中四種cast轉換

c 中四種型別轉換是 static cast,dynamic cast,const cast,reinterpret cast 1 static cast 用於各種隱式轉換,例如將非const轉換為const,void 轉指標 將void指標指向任意型別 等,用於多型向上轉化,如果向下轉能成功但是不...

C 基礎 10 四種cast轉換的區別

1 c風格的轉換 t expression 2 c 風格的四種轉換 static cast expression dynamic cast expression reinterpret cast expression const cast expression int a 1 double d do...