C 函式新特性

2021-08-21 22:37:23 字數 411 閱讀 2220

1. 函式的預設引數

函式可以有預設引數,你在呼叫的時候,如果不給函式引數賦值,函式將按照預設值執行

2. 過載函式

函式可以過載,也就是函式名稱可以一樣,只是返回型別以及引數型別,數目不同。

函式被呼叫的時候,系統會根據引數來匹配到相應的函式。

3. 內聯函式:申明時候加上inline,省去了函式傳遞的過程,在我看來與引用引數的效果類似

inline只是「建議」,也就是說,編譯器在條件允許的情況下,會把他看做是內聯函式,否則,只會把他當普通函式呼叫!

要求就是:函式必須足夠簡單,for,while等迴圈,或者遞迴等複雜的東西,系統是不會把他當內聯函式呼叫的!

C 新特性 lambda函式

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

c 之函式新特性

void fun int i,int j 5 int k 10 void fun int i,int j 5,int k 錯誤,沒有預設值的引數放前面實參可以覆蓋形參的值 什麼是函式過載?在相同的作用域內,用同一函式名定義的多個函式 引數個數和引數型別不同 int getmax int x,int ...

C 函式新特性 函式模版

函式模版是通用的函式描述,使用泛型來定義函式,其中的泛型可用具體的型別 如int或double 來代替。通過將型別作為引數傳遞給模版,可使編譯器生成該型別的函式。下面演示乙個最簡單的函式模版 交換兩資料的值 templatet void swap t a,t b 如果採用以下呼叫 int a 10 ...