C++4中cast類型強制轉換方式

static_cast<type_id>(expr)

用於基本類型的轉換,也可以將繼承關係的對象指針或引用之間進行上下轉型,但是在沒有運行時類型檢查的情況下,不保證類型安全。

static_cast<type_id>(expr)

動態轉換用於在繼承體系中進行安全的上下轉型。它允許在運行時判斷指針或引用的實際類型,並檢查轉換是否合法。如果轉型失敗,dynamic_cast將返回空指針(對於指針)或引發std::bad_cast異常(對於引用)。

const_cast<type_id>(expr)

去掉表達式的(底層)const性質。

reinterpret_cast<type_id>(expr)

重新解釋轉換是一種較爲低級和危險的轉換,它將一個指針或引用轉換爲不相關類型的指針或引用,用另一個類型的解釋方式解釋表達式的底層二進制數據,這種轉換沒有類型檢查,所以要非常小心使用,以避免潛在的錯誤和未定義行爲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章