程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 深入C++四種強制類型轉換的總結

深入C++四種強制類型轉換的總結

編輯:C語言基礎知識
c++中提供了四種新的強制轉換分別是:const_cast、dynamic_cast、reinterpret_cast、static_cast.

這四種轉換類型,每一種都適用於特定的目的:
const_cast 一般用於強制取消對象的常量性。它是唯一能夠做到這一點的C++風格的強制轉型。
dynamic_cast 主要用於執行"安全向下轉型",也就是說,要確定一個對象是否是一個繼承體系中的一個特定類型。它是唯一不能用舊風格語法執行強制轉型。

reinterpret_cast
是特意用於底層轉型,導致實現以來的結果,例如,將一個指針轉換為一個整數。這樣的強制轉換在底層代碼外英愛極為罕見。

static_cast
可以用於強制隱型轉換,如non-const對象轉換為const對象,int轉換為double等。它還可以用於很多這樣的轉換的反向轉換,例如:void*指針轉型為有類型的指針,基指針轉換為派生類指針,但是它不能講一個const轉換為non-const,它最接近C風格的轉換。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved