C 基礎06 型別轉換

2021-10-10 17:46:35 字數 1223 閱讀 5122

系統自動進行,無需開發人員介入。

int

main()

2.1 c語言風格的強制型別轉換
int

main()

2.1.2 c++的強制型別轉換

通用形式:

強制型別轉換名(express)

type:轉換的目標型別

express:需要轉換的變數

2.1.2.1 static_cast:

int

main()

(b)類中子類物件轉成父類物件

classa;

classb:

public a

;int

main()

(c)void* 與其他型別指標之間的轉換

void* :無型別指標,可以指向任何型別(萬能指標)

不可用於不同型別指標間的轉換如int轉float/double*

int

main()

2.1.2.2 dynamic_cast:

執行時進行型別轉換,主要用於父型別和子型別之間轉換(多型)

2.1.2.3 const_cast:

編譯時就會進行型別轉換

用於去除指標或者引用的const屬性

(1) 去除指標型別的const

int

main()

(2) 去除引用型別的const

int

main()

(3)無法去除非指標/引用型別的const

int

main()

2.1.2.4 reinterpret_cast:
int

main()

(2)不同型別的指標之間進行轉換,將int* 指標轉換為char*

int

main()

(3)將int* 指標轉換為整型

int

main()

C 基礎(1) 型別轉換

1.裝箱與拆箱 c 的資料型別分為基本型別和引用型別兩種,將基本型別轉成引用型別的過程,稱之為 裝箱 將引用型別轉成基本型別的過程,稱之為 拆箱 裝箱 的過程,會在記憶體的堆中建立乙個基本型別的副本,請看以下 來自msdn class testboxing i system.console.writ...

C 基礎(12)型別轉換

我於昨晚去世,走時心如止水。我於今早重生,來時心懷暖陽。型別轉換 cast 是將一種資料型別轉換成另一種資料型別。例如,如果將乙個整型值賦給乙個浮點型別的變數,編譯器會暗地裡將其轉換成浮點型別。轉換是非常有用的,但是它也會帶來一些問題,比如在轉換指標時,我們很可能將其轉換成乙個比它更大的型別,但這可...

C 基礎(1) 型別轉換

1.裝箱與拆箱 c 的資料型別分為基本型別和引用型別兩種,將基本型別轉成引用型別的過程,稱之為 裝箱 將引用型別轉成基本型別的過程,稱之為 拆箱 裝箱 的過程,會在記憶體的堆中建立乙個基本型別的副本,請看以下 來自msdn class testboxing i system.console.writ...