C Primer筆記 第2章 變數和基本型別

2021-06-16 10:28:08 字數 1892 閱讀 5333

1.算術型別的儲存空間依機器而定,c++標準規定了每個算術型別的最小儲存空間,但它並不阻止編譯器使用更大的儲存空間。

2.一般地,short型別為半個機器字長,int型別為乙個機器字長,而long型別為乙個或兩個機器字長(32位機器中int型別和long型別通常字長是相同的)。

3.c++中,把負值賦給unsigned物件是完全合法的,其結果是該負數對該型別的取值個數求模後的值。

4.字面值整數常量的型別預設是int或long型別。在數值後面加l或l指定常量為long型別,在數值後面加u或u定義unsigned型別。

5.預設的浮點字面值常量為double型別,在數值後加上f或f表示單精度,加上l或l表示擴充套件精度。

6.為了相容c語言,c++中所有的字串字面值都由編譯器自動在末尾新增乙個空字元(即'\0')。

7.左值:左值可以出現在賦值語句的左邊或右邊。右值:右值只能出現在賦值的右邊,不能出現在賦值語句的左邊。

8.c++支援兩種初始化變數的形式:複製初始化和直接初始化。複製初始化語法用等號(=),直接初始化則是把初始化式放在括號中:

int ival(1024);//直接初始化

int ival=1024;//複製初始化

直接初始化語法更靈活且效率更高。對類型別的物件來說,有些初始化僅能用直接初始化完成。

9.內建型別變數是否自動初始化取決於變數定義的位置。在函式體外定義的變數都初始化成0,在函式體裡定義的內建型別變數不進行自動初始化。

10.因為常量在定義後就不能被修改,所以定義時必須初始化。

11.在全域性作用域裡定義非const變數時,它在整個程式中都可以訪問。

12.除非特別說明,在全域性作用於宣告的const變數是定義該物件的檔案區域性變數,即const物件預設為檔案的區域性變數。通過指定const變數為extern,就可以在整個程式中訪問const物件。

14.總結以上2個:非const變數預設為extern,要使const變數能夠在其他的檔案中訪問,必須顯式指定它為extern。

15.每一種引用型別都「關聯到」某一其他型別。不能定義引用型別的引用,但可以定義任何其他型別的引用。

16.當引用初始化後,只要該引用存在,它就保持繫結到初始化時指向的物件。不可能將引用繫結到另乙個物件。初始化是指明引用指向哪個物件的唯一方法。

17.非const引用只能繫結到與該引用同型別的物件,const引用則可以繫結到不同但相關的型別的物件或繫結到右值。

18.預設地,第一關列舉成員賦值為0,後面的每個列舉成員賦的值比前面的大1,列舉成員值可以是不唯一的。

19.列舉型別的物件的初始化或賦值,只能通過其列舉成員或同一列舉型別的其他物件來進行。

20.類的成員函式可以使用類的任何成員,而不管其訪問級別。訪問標號public、private可以對此出現在類定義中,給定的標號應用到下乙個標號出現為止。

21.使用class還是struct關鍵字來定義類,僅僅影響預設的初始訪問級別:預設情況下struct的成員為public,而class的成員為private。

22.大部分的編譯器在編譯時都會用相應的常量表示式來替換掉對const變數的使用。所以在實踐中不會有任何儲存空間用於儲存用常量表示式初始化的const變數。

23.標頭檔案應該含有保護符,即使這些標頭檔案不會被其他標頭檔案包含。

24.#ifndef指示檢測指定的預處理器變數是否未定義。如果預處理器未定義,那麼跟在其後的所有指示都被處理,直到出現#endif。

#ifndef salesitem_h

#define salesitem_h

//sales_item類定義

#endif

25.如果標頭檔案包括在尖括號(<>)裡的是標準標頭檔案,編譯器將會在預定義的位置集查詢該標頭檔案,這些預定義的位置可以通過設定查詢路徑環境變數或通過命令項來修改。使用的查詢方法因編譯器的不同而差別迥異。如果標頭檔案在一對引號的則是非系統標頭檔案,查詢通常開始於原始檔所在的路徑。

C Primer 第2章 變數

當物件在建立時獲得了乙個特定的值,我們就說這個物件被初始化了.在使用 號時,如果建立了新的物件,則為初始化而非賦值.初始化不是賦值,初始化的含義是建立變數時賦予其乙個初始值,而賦值的含義是吧物件的當前值擦除,而以乙個新值代替.在使用列表初始化 c 11支援 時,如果存在丟失資訊的風險,則編譯器會報錯...

C Primer第2章 變數和基本型別

c 定義了一套包括算術型別和空型別在內的基本資料型別。算術型別分為兩類 整型和浮點型。算術型別的尺寸在不同機器上有所差別。型別含義 最小尺寸常見 bool 布林型別 未定義 char 字元8位 wchar t 寬字元16位 char16 t unicode字元 16位 char32 t unicod...

C Primer第2章 變數和基本型別

c 定義了一套包括算術型別和空型別在內的基本資料型別。算術型別分為兩類 整型和浮點型。算術型別的尺寸在不同機器上有所差別。型別含義 最小尺寸常見 bool 布林型別 未定義 char 字元8位 wchar t 寬字元16位 char16 t unicode字元 16位 char32 t unicod...