一、隱式轉換
int ival = 3.14 + 3;
在執行上述語句時,編譯器先將int型別的3轉換為double型別,之後相加,再將所得結果轉換為int型別初始化ival。
顯然,這裡的型別轉換無須程式設計師的介入,稱之為隱式轉換。
1. 算術轉換
算數轉換就是將一種算術型別(寬度小的)轉換為另一種算術型別(寬度大的)。
2. 其他隱式型別轉換
① 陣列轉換成指標
在大多數用到陣列的表示式中,陣列 自動轉換成 指向陣列首元素的指標。
② 指標的轉換
常量整數值0 和 字面值nullptr 可以轉換為任意型別的指標。
而指向任意非常量的指標能轉換成 void*,指向任意物件的指標能轉換為const void*。
③ 轉換成bool型別
若算術型別和指標型別值為0,則為false,值為1,則為true。
二、顯示轉換
顯示轉換也就是我們所說的強制型別轉換。
乙個命名的強制型別轉換有如下格式:cast-name (expression)
;
其中,type是目標型別,expression是要轉換的值,而cast-name指定了執行的是哪種轉換(共 static_cast、dynamic_cast、const_cast、reinterpret_cast 四種)。
由此,在**中,堅決不要出現隱式轉換,盡量杜絕出現顯示轉換。
C 基礎的不能再基礎的學習筆記 復合型別
復合型別是基於其他型別定義的型別。c 中最常用的復合型別是引用和指標。一 引用 引用是給物件起的別名,它代表了物件,但它不是乙個物件。一般在變數初始化時,初始值會被拷貝到新建的物件中,然而在定義引用時,程式將引用和它的初始值繫結在一起,一旦初始化完成,引用將和它的初始物件一直繫結在一起,無法令引用重...
Linux基礎命令 最基礎的,不能再少了
一 首先說一下linux的基本最基本的就是開啟終端了,一般redhat的終端右鍵選單裡面就有,ubuntu的終端需要開啟選單在裡面尋找,不過可以拖桌面上比較方便。二 開啟了終端以後會看到shell程序的介面,比如root localhost 這個是redhat一般的開啟介面,ubuntu 需要自行獲...
C 基礎學習筆記 類模板
一 類模板 1 類模板作用 語法 template typename t class 類名 解釋 include include using namespace std class person tyname name tyage age intmain 2 類模板與函式模板的區別 1.類模板無法使...