//2.型別轉換//c++中的型別轉換
//四種型別裝換符
//static_cast(基礎資料型別的轉換和繼承中父類與子類,指標與引用裝換)
//dynamic_cast(通常在基類和派生類之間轉換時使用)
//const_cast(主要針對const的轉換)
//reinterpret_cast(用於進行沒有任何關聯之間的轉換,比如乙個字元指標轉換為乙個整型數)
stacit_cast
class build{};
class animal{};
class dog:public animal{};
/*void test01()
; */
只能轉換具有繼承關係的指標或引用,在轉換前會進行物件型別的檢查,
/*void test02()
*/ const_cast
//針對指標,引用,或者物件指標(用來去除或者增加const屬性)
void test03()
reinterpret_cast 強制型別轉換 無關的指標型別,包括函式指標都可以轉換。
typedef void (*func)(int,int);
typedef int(*func1)(int, char*);
void test04()
//總結:
//結論1:需要清楚知道轉變的變數,轉換前是什麼型別,轉換後是什麼型別,以及轉換後有什麼後果
//結論2:一般情況下,不建議型別轉換,避免進行型別轉換。
int main()
c 四種型別轉換
c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a。c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...
C 四種型別轉換
include include includeusing namespace std static cast 用法 static cast type id expression 該運算子把expression轉換為type id型別,但沒有執行時型別檢查來保證轉換的安全性。它主要有如下幾種用法 用於...
C 四種型別轉換
1 static cast 1.上行轉換,把派生類的指標或引用轉換成基類,此時是安全的 2.下行轉換,把基類的指標或者引用轉換成派生類,因為沒有動態監測,所以是不安全的 3.顯示型別轉換,如int轉float等 4.任意型別空指標轉任意型別空指標 5.任意型別表示式轉為void型別 如下 int a...