C 程式設計 第三章 函式

2021-10-04 04:18:23 字數 1204 閱讀 6899

int &r=i; \\r為i的引用
1)定義引用的時候必須初始化,使其指向乙個存在的物件

2)一旦定義以後就與物件繫結,不允許修改

3)當用引用作為函式的引數時,其效果和用指標作為函式引數的效果相當,此時函式中對形參的各種操作實際上是對實參本身進行操作,而非簡單的將實參變數或物件的值拷貝給形參

4)使用引用作為函式的形參時,由於此時形參只是要傳遞給函式的實參變數或物件的別名而非副本,故系統不會耗費時間來在記憶體中開闢空間來儲存形參。因此如果引數傳遞的資料較大時,建議使用引用作為函式的形參,這樣會提高函式的時間效率,並節省記憶體空間。

5)使用指標作為函式的形參雖然達到的效果和使用引用一樣,但當呼叫函式時仍需要為形參指標變數在記憶體中分配空間,而引用則不需要這樣,故在c++中推薦使用引用而非指標作為函式的引數

6)如果在程式設計過程中既希望通過讓引用作為函式的引數來提高函式的程式設計效率,又希望保護傳遞的引數使其在函式中不被改變,則此時應當使用對常量的引用作為函式的引數。

7)陣列的引用作為函式的引數:c++的陣列型別是帶有長度資訊的,引用傳遞時如果指明的是陣列則必須指定陣列的長度

交換函式的區別的例子

swap(int a,int b)和swap(int &a,int &b)

為了解決一些頻繁呼叫的小函式大量消耗棧空間(棧記憶體)的問題採用inline關鍵字

inline函式僅僅是乙個對編譯器的建議,所以最後能否真正內聯,看編譯器的意思

inline只適合涵數體內**簡單的涵數使用,不能包含複雜的結構控制語句例如while、switch,並且不能內聯函式本身不能是直接遞迴函式建議:inline函式的定義放在標頭檔案中

定義在類中的成員函式預設都是內聯的,例如下面:

class

a// 自動地成為內聯函式

}

1)有預設引數的形參必須在形參列表的最右

2)如果函式體定義在函式呼叫之後,則需要在函式原型宣告的時候給出形參預設值

函式過載是一種靜態多型(編譯時的多型),函式過載的規則:

第三章 函式程式設計

函式是一段具有特定功能的 可重用的語句組,用函式名來表示並通過函式名進行功能呼叫。函式也可以看作是一段具有名字的子程式 特性 1.減少重複 2.使程式變的可擴充套件 3.使程式變得易維護 語法定義 def sayhi 函式名 print hello,i m nobody sayhi 呼叫函式 可以帶...

C 程式設計基礎第三章 函式

c 程式設計基礎第三章 函式 3.1函式的定義與呼叫 3.1.1函式定義 從使用者使用的角度來看,c 有兩種函式 標準庫函式和使用者定義的函式。其中,標準庫函式由c 系統定義並提供給使用者使用,使用者根據特定任務編寫的函式稱為自定義函式,自定義函式的形式與主函式的形式想類似,一般形式為 型別 函式名...

第三章 函式

函式是模組劃分的基本單位,是對外處理的一種抽象 c和c 的子程式體現為函式 呼叫其他函式的被稱為主函式 被其他行數呼叫的稱為被調函式 函式的語法形式 型別說明符 函式名 含型別說明的形式參數列 語句序列 形式引數 形式參數列 簡稱形參 表的內容如下 type1 name1,type2 name2,t...