reinterpret_cast<T>()
- 從指針類型到一個足夠大的整數類型
- 從整數類型或者枚舉類型到指針類型
- 從一個指向函數的指針到另一個不同類型的指向函數的指針
- 從一個指向對象的指針到另一個不同類型的指向對象的指針
- 從一個指向類函數成員的指針到另一個指向不同類型的函數成員的指針
- 從一個指向類數據成員的指針到另一個指向不同類型的數據成員的指針
- 以在任意指針之間進行互相轉換,即使這些指針所指的內容是毫無關係的,也就是說一下語句,編譯器是不會報錯的,但是對於程序來說也是毫無意義可言的,只會造成程序崩潰:
static_cast<T>()
基礎類型和對象的轉換,如int
long之間或子類像上轉換
const_cast<T>()
dynamic_cast<T>()
類似static_cast轉換,允許相同子類中轉換,轉換失敗返回null