c c 型別轉換總結

2021-06-19 03:01:42 字數 774 閱讀 1572

1.        複製

2.        函式形參和實參結合

3.        函式返回值返回時

4.        if(condition)語句

5.        混合運算

觸發時機2、3本質上是複製。同1。

1.        複製操作:等號右邊型別-->等號左邊型別。

有四種情況:

a)        內建型別—>內建型別:

b)       內建型別—>自定義型別:在自定義型別中查詢相應的轉換建構函式,找到則呼叫裝換建構函式,沒有則報錯。

c)        自定義型別—>內建型別:在自定義型別中查詢相應的轉換函式,有就呼叫沒有則報錯。轉換函式的詳細情況下面說明。

d)       自定義—>自定義

2.        形參和實參結合:實參型別-->形參型別

同上3.        函式返回值:當前的型別—>宣告的型別

同上4.        if(condition)語句中(condition)-->bool

目標型別始終為bool型別。其他的同上。

5.        混合運算:

a)        表示式中不存在自定義型別時,型別從能夠表示數的最大範圍從小到大轉換(即char->short->int->float->double)。

b)       存在自定義資料時不支援隱式轉換。如果自定義型別沒有提供相應的運算子過載,則編譯報錯。

6.        如果在轉換建構函式或轉換函式加explicit修飾,則不能隱式轉換。

C C 型別轉換

include include using namespace std int main 程式的執行結果如下 註解 int a 相當於將浮點數a的位址的前sizeof int 個位元組當成int型的資料輸出。float a 1.0f在記憶體中的表示是0x3f800000,當 int a強制轉換時,會...

C C 型別轉換

如果乙個int型的變數值為5,則若使用強制型別轉換或者使用memcpy,則相當於直接copy記憶體中的值,若列印,則會列印5對應的ascii值 而若使用函式轉換,則函式會操作記憶體轉為ascii值的5,若列印,則直接為5。memcpy在一定程度上相當於強制型別轉換,但是可以制定拷貝的位元組大小,因此...

c c 強制型別轉換

q 什麼是c風格轉換?什麼是static cast,dynamic cast 以及 reinterpret cast?區別是什麼?為什麼要注意?a 轉換的含義是通過改變乙個變數的型別為別的型別從而改變該變數的表示方式。為了型別轉換乙個簡單物件為另乙個物件你會使用傳統的型別轉換操作符。比如,為了轉換乙...