C 讀書筆記

2021-04-03 02:15:51 字數 1275 閱讀 4567

1.內建函式

inline必須在呼叫前進行完整定義,語#define相同,但是消除了不安全性

例:inline float circle(float r)

2,函式原型

語法形式:返回型別 函式名(參數列);

(1)函式原型的參數列中不包含引數的名字,而只包含型別;

(2)函式定義由函式說明部分和函式體構成;

(3)c++的引數說明必須放在函式後面的括號內;

(4)主函式main不必進行原型說明

(5)原型說明中沒有指出返回型別的函式,c++預設返回型別為int;

(6)無返回型別需定義void;

(7)如果函式原型中未註明引數,c++假定該函式的參數列為空,在c++中 f()=f(void)

3,帶有預設引數的函式

(1)在函式原型中,所有取預設值的引數都必須出現在不取預設值的引數的右邊;

(2)在函式呼叫時若某個引數省略,則其後的引數皆應省略而採用預設值;

4.函式過載

函式引數型別不同和個數不同,引起過載

(1)引數需有不同

(2)最好能執行相同的操作

5.作用域運算子::

區域性變數載其作用域內具有較高的優先權;

在區域性變數的作用域中使用同名的全域性變數,用::運算子

6.無名聯合

在關鍵字union後面沒有聯合名,可以直接使用其中變數;

7.強制型別轉換

int i=10;

float x= (float)i;

float x=float(i);

c++都接受

8.new和delete

使用new自動返回正確的指標型別,需要用delete**

9.引用

引用是能自動間接引用的一種指標,"type &"

int i=5;

int &j=i;

i和j使用同一記憶體位置,i變化j隨之變化;

注意的地方:

錯誤的用法:

int &*p;      //不能建立指向引用的指標;

int &&;       // 不能建立引用的引用;

int &p[3];   //不能建立引用陣列;

引用的返回值:可以將函式用在賦值運算子的左邊;

C 讀書筆記

c陷阱和缺陷 1.賦值符優先順序比邏輯比較低,賦值表示式的結果為賦值後的結果 2.編譯器掃描符號使用貪心法,儘量選擇最長字元的符號串,如a 理解為a 而不是a 3.為相容老版本編譯器,不同符號之間最好加空格,如a 1可能理解為a 1,應該改為a 1 4.老版本編譯器,8進位制數以0開始,後面可以加超...

c 讀書筆記

再看一本叫做 stl lectures 的書,裡面有一段 讓我學習了 include includeusing namespace std template const t max const t x,const t y int main 我說這段 讓我學習,不是說它寫的多好 因為這段 在g 4.8...

C 讀書筆記

什麼是封裝?在物件導向程式設計來講,就是把資料和針對該資料的操作,統一到一個class裡。實際上還包括以標頭檔案的格式將一些型別定義,函式宣告,封裝至某個標頭檔案。還有namespace語法等。建構函式 什麼是建構函式?通俗的講,在類中,函式名和類名相同的函式稱為建構函式。它的作用是在建立一個物件時...

C 讀書筆記

1 一般的程式設計流程 編輯 編譯 連結 除錯2 std 是名空間 3 使用 using namespace std 語句,使得後面的名稱若沒有在現場定義,則會自動 到std 的名空間去找。4 c 對 c的增強,表現在兩方面 a 在原來程序導向機制的基礎上,對 c語言的功能做了不少擴充 b 增加了物...

C 讀書筆記

一,c 物件初始化語法 1 product p new product 2 宣告物件嘛,應該有分號的。其實,我們在使用集合或陣列的時候,早就使用過這種語法糖了,如 1 list templist new list 二 使用拓展方法 第三方類或者是沒有源 的類,可以通過用拓展方法來獲得所需的功能。1 ...