C primer 變數和基本型別

2021-08-08 06:21:27 字數 2001 閱讀 1488

1.    當明知曉數值不可能為負時,選用無符號型別

2.    如果數值超過了int的表示範圍,選用long long

3.    執行浮點數運算選用double

4.    初始化不是賦值,初始化的含義是建立變數時賦予其乙個初始值,而賦值的含義是把物件的當前值擦除,而以乙個新值來替代

5.    內建型別的變數未被顯示初始化時,定義於任何函式體之外的變數被初始化為0,函式體內部的內建型別不被初始化

6.    分離式編譯,在變數名前新增關鍵字extern,而且不要顯示地初始化變數。在函式體內部,如果試圖初始化乙個由extern關鍵字標記的變數,將引發錯誤

7.    c++識別符號由字母、數字和下劃線組成,其中必須以字母或下劃線開頭。識別符號沒有長度限制,但是對大小寫敏感

8.    在物件第一次被使用的地方定義它是一種好的選擇

9.    

列表初始化:使用花括號初始化,當存在丟失資訊風險時編譯器將報錯,而使用()可以執行但可能發生資訊丟失

10.  

引用:為物件起的別名,定義時必須初始化,不是物件,不可定義引用的引用

11.  指向某個物件,定義時無需賦值,本身就是物件,對指標使用解引用符*可訪問該物件

12.  

初始化指標:建議用已定義物件或nullptr或0初始化所有指標,把任何int型變數(即使值為0)賦值給指標是錯誤的

13.  

void*

14.  通過*的個數可以區分指標的級別,**表示指向指標的指標,以此類推

15.  指向指標的引用,int *p; int *&r=p;  從右向左有助於閱讀

16.  

多檔案共享const:不管宣告還是定義都要新增關鍵字extern

17.  

初始化對const的引用:允許任何表示式作為初始值,只要該表示式結果可以轉化為引用型別的臨時量物件

18.  常量只能用常量引用,引用型別必須一樣

19.  指向常量的指標,const指標 從右向左

20.  頂層const:表示指標本身是個常量,底層const:表示指標指的物件是乙個常量

21.  執行拷貝操作時,拷入拷出物件必須具有相同的底層const資格,或能夠強制轉換

22.  

常量表示式:資料型別和初始值都需要是常量型別,值不會改變並在編譯過程就能得到計算結果

23.  

constexpr

變數:一定是常量,必須用常量表示式(字面值型別,包括算術型別、引用、指標)或constexpr函式(足夠簡單編譯時可計算結果)初始化

24.  

constexpr

:在編譯期可知     const:不可改變

25.  

constexpr

26.  constexpr int *p = 0;  相當於頂層const

27.  型別別名:(1).typedef double wages;  (2). using a = double;

28.  

指標、常量與型別別名:typedef char*pstring; const pstring cstr = 0;,與const char *cstr不等價,前者的cstr是指向char的常量指標,後者中cstr是指向常量char的指標

29.  

型別說明符auto:讓編譯器通過初始值推算變數型別,並賦諸該值;忽略頂層const,保留底層const

30.  decltype:選擇並返回運算元的資料型別。如果decltype使用的是乙個加上了一對括號的變數,則得到的結果就是該變數的型別;如果給變數加上了一層或多層括號,編譯器就會把它當成是乙個表示式。

31.  預處理器:在編譯之前執行一段程式,可以部分地改變我們所寫的程式。如:#include ,當預處理器看到#include標記時就會用指定的標頭檔案的內容代替#include

32.  #define指令把乙個名字設定為預處理變數,#ifdef 當且僅當變數已定義時為真,#ifndef 當且僅當變數為定義時為真。一旦檢查結果為真,則執行後續操作直至遇到#endif指令為止。

變數和基本型別 C Primer學習筆記

1.linux下檢視main函式返回值 echo 2.endl是乙個特殊值,稱為操縱符 mainpulator 具有換行和重新整理與裝置相關緩衝區的作用。3.注釋對不可巢狀。4.可以用std cin value 讀取未知數目的輸入。windows使用control z作為結束符,linux使用con...

C Primer 02 變數和基本型別

1.c 算術型別 2.整型 一般,short 為半個機器字長,int為乙個,long為乙個或兩個。c 中將負數賦值給unsigned型別的值,是合法的,值為求模後的值。eg,1賦值給unsigned char,得 1對256求模,等於255。3.浮點型 float 型別 6位有效數字,double ...

c primer之變數與基本型別

如果表示式裡既有帶符號型別又有無符號型別,當帶符號型別取值為負時會出現異常結果。因為帶符號數會自動轉換成無符號數。unsigned u 10 int i 42 std cout endl 輸出 84 std cout endl 如果int佔32位,輸出4294967264引用與指標 引用並非物件,引...