亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++函數的一些特性

發布時間:2020-04-03 10:14:02 來源:網絡 閱讀:428 作者:Dussssss 欄目:編程語言

一、內聯函數

調用函數時需要一定的時間和空間的開銷。函數調用過程:
C++函數的一些特性
C++提供一種提高效率的方法,即在編譯時將所調用函數的代碼直接嵌入到主調函數中 ,而不是將流程轉出去。這種嵌入到主調中的函數稱為內聯函數。

#include<iostream>
using namespace std;

inline int sum(int a,int b);
int main()
{
int a=100;
int b=200;
cout<<sum(a,b)<<endl;
return 0;
}
inline int sum(int a,int b)
{
return a+b;
}

在調用sum(a,b)時,就用sum函數體的代碼代替sum(a,b)
注意可以在聲明函數和定義函數時同時寫inline,也可以在其中一處聲明inline,效果一樣。
適用于:規模較小而又被頻繁調用的簡單函數。

二、函數的重載

在編程時,有時我們要實現的是同一類的功能,只是有些細節不同。比如sum()函數:

int sum1(int a,int b);
int sum2(int a,int b,int c);
double sum3(double a,double b);
float sum4(float a,float b);

C++允許用同一函數名定義多個函數,這些函數的參數類型和參數個數可以不同。

int sum(int a,int b);
int sum(int a,int b,int c);
double sum(double a,double b);
float sum(float a,float b);

三、函數模板
所謂的函數模板,實際上是建立一個通用函數,其函數類型和形參類型不具體指定,用一個虛擬的類型來代替。凡是函數體相同的函數都可以用這個模板來代替,不必定義多個函數,只需在模板中定義一次即可。在調用函數時系統會根據實參的類型來取代模板中的虛擬類型。

template<typename T>
T sum(T a,T b,T c)
{
return a+b+c;
}

定義函數模板的一般形式:
template<typename T> 或 template<class T>
類型參數可以不止一個:
template<typename T1,class T2>

四、有默認參數的函數
一般情況下,在函數調用時形參從實參那里取得值。有時多次調用同一函數時用同樣的實參,C++提供簡單的處理辦法,給形參一個默認值,這樣形參就不必一定要從實參取值了。

flaot area(float r=6.5);
area();  //相當于area(6.5);

五、函數的嵌套調用
C++不允許對函數進行嵌套定義,即一個函數中不能完整地包含另一個函數。在一個程序中每一個函數的定義都是互相平行和獨立的。雖然C++不能嵌套定義函數,但是可以嵌套調用函數。
C++函數的一些特性

六、函數的遞歸調用
在調用一個函數的過程中又出現間接或直接地調用該函數本身,稱為函數的遞歸調用。
C++函數的一些特性

七、內部函數和外部函數
內部函數:只能被本文件其他函數調用
外部函數:缺省默認為外部函數,可供其他文件調用

static int fun(int a,int b);
extern int fun(int a,int b);
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林浩特市| 金门县| 叙永县| 保康县| 玛多县| 三江| 凭祥市| 资源县| 蓬溪县| 永兴县| 福州市| 崇信县| 嘉祥县| 普陀区| 沾益县| 安溪县| 海南省| 周至县| 富锦市| 年辖:市辖区| 隆昌县| 乃东县| 西青区| 化德县| 温州市| 卢龙县| 承德县| 综艺| 花莲县| 尼勒克县| 英超| 汕头市| 洪江市| 抚松县| 彩票| 剑川县| 南雄市| 平乡县| 上思县| 新沂市| 威远县|