dynamic_cast
用以轉換多型型別(polymorphic type).建立執行時檢查將保證轉換的有效性。如果該轉換不是安全的,則丟擲乙個bad_cast異常。
static_cast
用以轉換非多型型別。沒有執行時檢查。
const_cast
用以除去乙個物件的常態(constness)和易失態(volatileness).
reinterpret_cast
用以將任何指標或者整形型別轉換成另乙個指標或整形變數。
例如:
reinterpret_cast <> (&psome) 將乙個雙精度型別指標轉換成void**
C 過載型別轉換操作符
在需要做資料型別轉換時,一般顯式的寫法是 cpp view plain copy font size 18px type1 i type2 d i type1 d 顯式的寫型別轉,把d從type2型別轉為type1型別 這種寫法不能做到無縫轉換,也就是直接寫 i d,而不需要顯式的寫 type1 來...
細說C 型別轉換操作符
c 語言雖然相容c,也支援c語言的型別轉換用法,就是將型別用圓括號括起來,這種轉換可視性比較差,難以跟蹤錯誤的轉換。c 提供了命名的強制轉換操作符,畢竟轉換有時是不安全的,所以使用命名轉換操作符可以根據所使用的轉換操作符可以判斷風險級別。下面我們就來看看c 提供的四種命名的強制轉換操作符的具體功能和...
C 型別轉換操作符 dynamic cast
dynamic cast 顧名思義是支援動態的型別轉換,即支援執行時識別指標或引用所指向的物件。dynamic cast 用於c 類繼承多型間的轉換,分為 子類向基類的向上轉型 up cast 基類向子類的向下轉型 down cast 其中向上轉型不需要借助任何特殊的方法,只需用將子類的指標或引用賦...