C++新旧类型转换小记
生活随笔
收集整理的這篇文章主要介紹了
C++新旧类型转换小记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
舊式類型轉換可應對一切轉換,不管合不合理,有沒有風險,你讓我轉我就轉給你,后果自負。
新式類型轉換比較安全,主要體現在父子類之間的運行時轉換 dynamic_cast上,若轉換失敗則返回空指針,而舊式類型轉換則發現不了失敗(總是認為成功,永遠不會返回空指針),導致運行時崩潰。
?
1,static_cast, static 表示編譯時檢查的轉換,對應運行時檢查的轉換 dynamic_cast。注意,此轉換不能去除修飾性,如const,static,volatile等。
2,dynamic_cast ,與static_cast對應,運行時動態檢查,使用要求:被轉換對象必須有虛函數
3,const_cast,專門用于去除或增加const,volatile修飾、
4,static_cast,專門用于去除或增加static修飾
?
新式類型轉換出現的主要原因就是 dynamic_cast這個功能的需求,其它的都沒什么用處。
總結
以上是生活随笔為你收集整理的C++新旧类型转换小记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有关Dispose,Finalize,G
- 下一篇: C++用参数返回结果与用返回值返回结果的