C 學習筆記(三)

2021-07-04 05:23:50 字數 1419 閱讀 2830

c++中,陣列下標的正確型別為 size_t

void*指標支援的操作:與另乙個指標比較;向函式傳遞或者從函式返回;給另乙個void*指正賦值。

特別的,不允許使用void*指標操縱它所指向的物件。

兩個區別:引用總指向某乙個物件:定義時沒有初始化是錯誤的;賦值行為差異:給引用賦值修改的是該引用所關聯的物件的值。

const int *p; 指向的物件是const的;不能把const物件賦值給乙個普通指標,允許把非const物件賦值給指向const物件的指標。也可寫為 int const *p。底層const。

int *const p; 指標為const的。頂層const.

特殊的:typedef

typedef string *pstring;

const pstring p;

此時相當於:string *const p;   //此處的const是限定指標的,而不能簡單的進行字面擴充套件。

<<(左移):在右邊補0

>>(右移):無符號數,左邊補0,有符號數則需要依具體情況而定。

移位的右運算元不可以是負數,而且必須是小於左運算元位數的值,否則,操作未定義。

只有在必要時才使用後置的自增或者自減操作符。後置方式需要先儲存原來值。

將sizeof應用於表示式上,將獲得該表示式的結果的型別長度,並不計算表示式的值。

對char型別或者值為char型別的表示式做sizeof操作保證得1。

對引用型別求sizeof將返回存放此引用型別物件所需得記憶體空間大小。

對指標做sizeof將返回指標所需要的記憶體大小,對指標解引用返回物件所需記憶體大小。

對陣列做sizeof等效於型別乘以個數。

throw表示式:丟擲異常

throw runtime_error(「….」); //丟擲標準異常

trycatch(runtime_error err)

{ cout<

1) exception標頭檔案定義了常見的異常類,類名為exception

2) stdexcept標頭檔案定義了幾種常見的異常類,包括:

exception:最常見問題

runtime_error:執行時錯誤

rang_error:越界

overflow_error:計算上溢

underflow_error:計算下溢

直接用陣列名傳遞的是指向陣列第乙個元素的指標,當不能修改陣列元素時宣告為指向const物件指標。

const int*

特別的:通過引用傳遞陣列

形參是陣列的引用,編譯器不會將陣列實參轉化為指標,此時編譯器將檢查實參大小和形參是否匹配。

寫法 void fun(int (arry&) [10]);        //括號必須,下標操作符有更高優先順序

C 學習筆記(三)

c 運算子過載 1 過載運算子的運算順序和優先順序不變,但引數和返回型別是可以重新說明的。2 c 規定,運算子中,引數說明都是內部型別的,不能過載,如 int operator int,int 3 c 還規定了 這五個運算子不能過載,也不能創造新的運算子,如 4 c 規定 這四種運算子必須為成員形式...

C 學習筆記(三)

chapter 3 函式和類的自頂向下設計 1 乙個程式的開發過程 1.問題規範 2.分析 資料需求 3.設計 初始演算法 演算法精化 4.實現 5.測試 2 重要工具 結構圖 3 分析,設計程式時,甚至對任何問題來說,我們都要由大到小,層層分解,由乙個大問題分割成多個相關 的小問題,一口乙個蛋糕是...

C 學習筆記(三)

attributes field modifiers type variable declarators 域的修飾符field modifiers可以是 靜態域和非靜態域 下面的例子清晰的反映了二者之間的區別 域的初始化 如果在類中,沒有顯式的對域進行初始化,系統將賦予其乙個預設值。域的預設初始化分...