C 型別轉換符

2021-09-25 09:41:49 字數 666 閱讀 9932

c++是一門強型別語言,一般不支援強制型別轉換,但本語言內部提供了型別轉換符用於不同型別間的轉換

1、const_cast:去掉型別的const或volatile屬性

常用於:

1、常量指標被轉換成非常量指標,仍指向原來的物件

2、常量引用被轉換成非常量引用,仍指向原來的物件

3、常量物件被轉換成非常量物件

int main(void)

2、static_cast:類似域c風格的強制轉換,無條件轉換,靜態型別轉換。

常用於:

1、父類和子類之間的轉換:其中子類指標轉換成父類指標是安全的。但反之不安全

注:父類與子類中之間的動態轉換建議使用dynamic_cast

2、基本型別之間的轉換,如:enum、int、float、int、char等

3、把空指標轉換成目標型別的空指標

4、把任何型別的表示式轉換成void型別

注:static_cast不能進行無關型別指標的轉換(如:沒有關聯的類之間的轉換)

int main(void)

{ int n = 6;

double d = static_cast(n

C 型別轉換符

4個c 型別轉換運算子 使用static cast 用於指標,提供基本的編譯階段檢查,確保指標被轉換為相關型別。c風格型別轉換可將指向乙個物件的指標轉換為完全不相關的型別,而編譯器不會報錯。向上轉換 derived base 無需使用任何顯式型別轉換運算子 向下轉換 base derived 必須使...

c 型別轉換運算子

c 中有4個型別轉換運算子,使裝換過程更規範 dynamic cast type name expression 如果轉型失敗則返回0,即空指標。該運算子的用途是,使得能夠在類層次結構中進行向上轉換 由於 is a關係,這樣的型別轉換時安全的 而不允許其他轉換。二 const cast const ...

C 型別轉換運算子

隱式轉換,是針對不同型別之間的賦值和運算,函式呼叫傳遞引數 這些的轉換都是由編譯器自動完成 char ch int i ch 顯式轉換 由程式設計師在變數前面新增型轉換 char pc char pb void ps void pa 通過上述的兩種方式,c語言大部分的型別轉換都可以順利進行,c 繼承...