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


const_cast

可以用於移除或新增變數的 const。如果需要向變數新增/移除 const,則此 cast 很有用。

static_cast

用於正常的/普通的型別轉換。此 cast 還負責隱式型別強制轉換,也可以顯式呼叫。應在將浮點數轉換為整數、字元轉換為整數等情況下使用它。

dynamic_cast

此 cast 用於處理多型。當強制轉換為派生類時,你只需使用該 cast。這僅在從基類強制轉換為派生類時的繼承中使用。

reinterpret_cast

此 cast 最棘手。用於重新解釋位模式,且極其底層。主要用於將原始資料位流變為實際資料或將資料儲存在對齊指標的低位這樣的事項。

更新於: 23-6-2020

3K+ 瀏覽

啟動你的職業生涯

完成課程以獲取認證

開始吧
廣告
© . All rights reserved.