c 之函式新特性

2021-09-27 12:51:07 字數 820 閱讀 6755

void fun(int i,int j=5;int k=10);

void fun(int i,int j=5,int k);//錯誤,沒有預設值的引數放前面

實參可以覆蓋形參的值

什麼是函式過載?

相同的作用域內,

同一函式名定義的多個函式

引數個數引數型別不同

int getmax(int x,int y,int z)

double getmax(double x,double y)

普通函式呼叫經這幾個步驟

例如你呼叫乙個fun()

會從主函式跳到fun()裡面,執行完fun()後回到主函式

編譯時將函式體**和實參代替函式的呼叫語句

也就是說用fun()裡面的**換掉主函式的fun()

內聯函式關鍵字:inline

inline int max(int a,int b int c);

int main()

{ int i=10,j=20,k=30,m;

m=max(i,j,k);

cout<<"max="if(c>a)a=c;

m=a;

cout<<"max="《為什麼不所有的函式都使用內聯方式呢?

1、內聯編譯時建議性的,由編譯器決定

2、邏輯見到那,呼叫頻繁的函式建議使用內聯

3、遞迴函式無法使用內聯方式

C 函式新特性

1.函式的預設引數 函式可以有預設引數,你在呼叫的時候,如果不給函式引數賦值,函式將按照預設值執行 2.過載函式 函式可以過載,也就是函式名稱可以一樣,只是返回型別以及引數型別,數目不同。函式被呼叫的時候,系統會根據引數來匹配到相應的函式。3.內聯函式 申明時候加上inline,省去了函式傳遞的過程...

C 新特性 lambda函式

形式 capture 捕獲引數說明 無捕獲,函式體內不能訪問任何外部變數。以值的方式捕獲所有外部變數,函式體內可以訪問但不能修改。以引用的方式捕獲所有外部變數,函式體內可以訪問並修改。var 以值的方式捕獲所有外部變數,函式體內可以訪問但幫浦修改。var 以引用的方式捕獲某個外部變數,函式體內可以訪...

c 新特性之default,delete

c 新特性之default,delete 用法 default 表示使用編譯器為我們提供的實現,delete表示刪除函式,不實現。default delete一般只能用在編譯器為我們生成的函式上,比如建構函式,拷貝構造,析溝函式 不要使用 delete 賦值等。delete可以用在普通成員函式,但是...