C 四種強制型別轉換

2021-09-19 16:17:05 字數 1489 閱讀 6838

用法:static_cast《型別說明符》 (變數或表示式)

作用:

double  d =

3.1222

;int a = static_cast<

int>

(d);

舉例:

classa;

classb:

public a

;classc;

intmain()

注意:用法:const_cast(expression)

作用:去掉型別的const或volatile屬性

const base* bp =

newbase

;base* dp = const_cast

>

(bp)

;//不安全

舉例:

未定義行為:未定義行為是指c語言標準未做規定的行為。編譯器可能不會報錯,但是這些行為編譯器會自行處理,所以不同的編譯器會出現不同的結果,什麼都有可能發生,這是乙個極大的隱患,所以我們應該盡量避免這種情況的發生。

注意

舉例:

#include

用法:dynamic_cast(expression) type-id必須是類指標,類引用或者void*

作用:用於將乙個父類的指標或引用轉化為子類的指標或引用(安全的向下轉型)

舉例:

class

注意:

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