c++中為了顯示的進行類型的轉化,引入了一下類型的轉換操作符 static_cast , dynamic_cast
工具/原料
我的開發環境 eclipse + cdt(這個沒影響,與這個主題無關,能編譯c++語言就行)
方法/步驟
1.static_cast
利用原值構建一個臨時對象,並在設立新值是進行類型轉化。只有原始的類型被定義了,整個轉換才能成功。
2.dynamic_cast
這個轉換主要是為多態服務的,將多態類別向下進行轉型,轉為實際的靜態類別
3.const_cast
這個主要是去行類型的const屬性。一般少用為好。
const int nT = 10; //去掉nT的const屬性int nV = const_cast
4.reinterpret_cast
此操作符的行為由實際編譯器定義,可能重新解釋bits意義,但也不一定如此,使用此轉換通常帶來不可移植性。
注意事項
這些轉換代替了以往的小括號的強制類型轉換,能夠清楚的表達轉換意圖,不過在使用的時候一定注意各個轉換的意義,別產生不可預知的問題。