c++ mooc 內聯函數 函數重載

  • 內聯函數

函數調用有時間開銷,特別是函數本身語句少但多次被調用,爲減少調用開銷引入內斂函數

編譯器處理內聯函數時,將內斂函數的語句插入到調用語句處而不產生具體調用

加 inline 關鍵字

inline int max(){
    if(a>b) return a;
    return b;
}

弊端:可執行程序的體積變大

  • 函數重載

一個或多個函數名字和返回類型相同,但參數類型和個數不同

編譯器根據調用語句中的實參個數類型判斷是哪個函數

int max(int a, int b){}
int max(double a, double b, int c){}
int max(int a, int b, double c){}

函數重載二義性

max(3.4,3.6,3.8)  //不知道是第二個還是第三個max

如果名字和參數表完全相同,返回類型不同,叫做函數重定義

  • 函數的缺省
int func(int a; int b=1; int c=20);  //則第一個參數必須寫,後兩個可缺省

必須是函數最右邊的若干個參數才能設置爲缺省值,以上述爲例,當b缺省時,c必須也缺省;當c缺省時,b可以不缺省

函數的缺省可提高程序的可擴充性

發佈了25 篇原創文章 · 獲贊 4 · 訪問量 7394
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章