c++中提供了四種新的強制轉換分別是:const_cast、dynamic_cast、reinterpret_cast、static_cast.
這四種轉換型別,每一種都適用於特定的目的:
const_cast 一般用於強制取消物件的常量性。它是唯cdiricilvl一能夠做到這一點的c++風格的強制轉型。
dynam程式設計客棧ic_cast 主要用於執行"安全向下轉型",也就是說,要確定乙個物件是否是乙個繼承體系中的乙個特定型別。它是唯一不能用舊風格語法執行強制轉型。
reinterpret_cast是特意用於底層轉型,導致實現以來的結果,例如,將乙個指標轉換為乙個整數。這樣的強制轉換在底層**外英愛極為罕見。
static_cast可以用於強制隱型轉換,如non-const物件轉換為const物件,int轉換為double等。它還可以用於很多這樣的轉換的反向轉換,例如:void*指標轉型為有型別的指標,基指標轉換為派生類指標,但是它不cdiricilvl能講一程式設計客棧個const轉換為non-const,它最接近c風格的轉換。
本文標題: 深入c++四種強制型別轉換的總結
本文位址: /ruanjian/c/95069.html
C 四種強制型別轉換總結
1.static case強制型別轉換 用於基本型別間的轉換,但不能用於基本型別指標間的轉換 用於有繼承關係類物件之間的轉換和類指標之間的轉換 如 int main 2.reinterpret cast強制型別轉換 用於指標型別間的型別轉換 用於整數和指標型別間的強制轉換 如 typedef voi...
C 四種強制型別轉換的總結
c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dynamic cast,命名上理解是動態型別轉換。如子類和父類之間的多型型別轉換。reinterprete...
C 四種強制型別轉換
c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...