C++ 中的常規型別轉換 vs. static_cast vs. dynamic_cast


static_cast − 用於普通型別轉換。它也負責隱式型別轉換,並且可以顯式呼叫。在將浮點數轉換為整數、字元轉換為整數等情況下,應該使用它。

dynamic_cast − 用於處理多型性。只有在轉換為派生類時才需要使用它。它專門用於繼承中,當從基類轉換為派生類時。

常規型別轉換 − C++ 中最強大的型別轉換,因為它結合了 const_cast、static_cast 和 reinterpret_cast。但它也不安全,因為它不使用 dynamic_cast。它也被稱為 C 風格型別轉換。

其他可用型別轉換

const_cast − 可用於刪除或新增變數的 const 屬性。如果需要向變數新增或刪除 const 屬性,這將非常有用。

reinterpret_cast − 使用起來最棘手。它用於重新解釋位模式,並且處於極低的級別。它主要用於將原始資料位流轉換為實際資料或將資料儲存在對齊指標的低位中。

更新於: 2020年6月24日

11K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.