使用場景
static_cast 靜態類型轉換。如int轉化成char
reinterpret_cast 重新解釋類型
dynamic_cast 命名上理解是動態類型轉換,如子類和父類之間的多態類型轉換
const_cast 字面上理解就是去const屬性
類型轉換介紹
static_cast<>() 靜態類型轉換,編譯時c++編譯器會做類型檢查
若不同類型之間,進行強制類型轉換,reinterpret_cast<>() 進行重新編譯
dynamic_cast<>() 動態類型轉換,安全的基類和子類之間轉換,運行時類型檢查
const_cast<>() 去除變量的只讀屬性
三種使用形式
dynamic_cast<type*> (e) //e必須爲指針
dynamic_cast<type&> (e) // e 必須爲一個左值
dynamic_cast<type&&> (e) //e不能是左值
參考
https://blog.csdn.net/lpl312905509/article/details/104046600