在 C++ 中,應該在何時使用 static_cast、dynamic_cast、const_cast 和 reinterpret_cast?


const_cast

可用於為變數去除或新增 const。如果需要為變數新增/去除 constness,則可以使用此運算子。

static_cast

用於正常的/普通的型別轉換。此轉換運算子還負責隱式型別強制轉換,並且可顯式呼叫。你應該在諸如將 float 轉換為 int、char 轉換為 int 等情況下使用它。

dynamic_cast

此轉換運算子用於處理多型性。只有在將型別轉換為派生類時才需要使用它。它僅用於繼承中,即從基類轉換為派生類時。

reinterpret_cast

這是最難使用的運算子。它用於重新解釋位模式,並且是極底層的。它主要用於以下操作:將原始資料位流轉換為實際資料,或將資料儲存在經過對齊的指標的低位中。

更新於: 2020 年 6 月 23 日

3K+ 瀏覽量

開啟您的 職業生涯

完成課程即可獲得認證

開始吧
廣告
© . All rights reserved.