static_cast運算子把expression轉換為type-id類型,但沒有執行時間類型檢查來保證轉換的安全性。
①用於類別層次結構中基底類別(父類別)和衍生類別(子類別)之間指標或引用的轉換。
進行上行轉換(把衍生類別的指標或參考轉換成基底類別表示)是安全的;
#進行下行轉換(把基底類別指標或參考轉換成衍生類別表示)時,由於沒有動態類型檢查,所以是不安全的。
來自:http://baike.baidu.com/link?u...
我想問下,加粗部分,它說的是什麼意思?不安全指的是什麼?
比如說有一個父類
static_cast🎜在同一父類別的不同子類別的物件之間互轉,導致型別的錯誤。 🎜舉例:🎜A
,派生出兩個子類B
和C
,有一個A
類指標或引用a
指向了一個B
類指標或引用a
指向了一個B
類指標static_cast進行下行轉換,可以轉換成
C類的物件(指標或引用),此時就會出現不安全,因為
C類的一些成員函數/變數對
B
類的物件不適用。簡單來說,就是可以利用