c 學習之特殊形式的函式

2021-08-09 06:55:01 字數 1228 閱讀 7904

知識點:

1.程式 = 資料 + 演算法

2.結構化程式設計方法的基本思想:

 模組化設計

 重用函式**

 分類管理資料

-結構化程式設計所棉鈴的問題:

 開發大型軟體系統

 對大型軟體的維護、公升級

-解決方法:資料類

資料類 = 資料 + 演算法

3.物件導向的初始化形式

int x(10), y;       //c++語言風格
4.c++語言常變數:

const 資料型別 變數名 = 初始值

說明:

 使用const關鍵字指定常變數

 定義常變數時必須初始化

 常變數的值不能改變,例如不能再次賦值

引用及函式間引數的引用傳遞

引用:已有變數的別名

定義:

引用型別&醫用變數別名 = 被引用變數名;

例如 int x,&xa = x;

引用傳遞的特點

-引用傳遞將被調函式的形參定義為主調函式中實參變數的引用,被調函式通過該引用間接訪問主調函式的變數

-被調函式修改形參實際上修改的是對應的實參。引用傳遞是一種雙向資料傳遞機制

-引用傳遞時實參必須是變數

6.特殊形式的函式:

帶預設的形參必須定義在形參列表的後面

過載函式:

c++語言中如果兩個函式的形參個數不同或者資料型別不同,那麼這兩個函式可以充滿。崇明的函式叫過載函式

注:如果兩個函式僅僅是返回值型別不同或形參名不同,不能命名為過載函式

內聯函式:

保證程式開發效率的同時,不降低程式的執行效率。原理是:編譯源程式時將函式**直接嵌入到每乙個呼叫語句處,而在執行時不再進行函式跳轉和資料傳遞。

定義:函式定義之前加inline關鍵字

注:需要是簡單函式,複雜不能保證內聯,例如包含for虛幻

一般只用在頻繁呼叫的簡單函式定義為內聯函式

7.

int *p = new

int(10) //動態分配時初始化

delete p

一維陣列的動態分配和釋放

int *p = new

int[5] //動態分配乙個int行一維陣列變數,包含5個陣列元素

delete p

VC (五)特殊函式形式

1 函式模板 template 當需要定義多個具有相同函式名的函式時,需要進行函式過載 overload 函式過載的條件是這些函式的形參列表各不相同。事實上,所有函式都有簽名,函式的簽名由函式名稱和形參列表確定,程式中每個函式都必須有唯一的簽名。同理,不同的返回值型別不足以區別函式。當多個函式過載時...

用彙編的眼光看C (之特殊函式)

這裡說的函式主要指的是inline函式 static函式。inline函式比較特殊,它既具有巨集的性質,同時也能讓編譯器對它進行函式檢查。static函式同樣也比較特殊,它只可以被同檔案的函式使用。如果static函式在include檔案中,那麼這個標頭檔案只要被使用一次,那麼這個函式就要在exec...

用彙編的眼光看C (之特殊函式)

1 內聯函式 view plain inline intadd inta,intb 那麼這個函式在應用的時候,會怎麼編譯呢,可以看一下?view plain 0040114a mov eax,1 0040114f add eax,2 00401152 mov dword ptr ebp 4 eax ...