一、函數的定義、聲明及調用
C++中,函數是一段可以被反覆利用的代碼,它接受參數並返回一個結果。函數的核心概念包括函數的定義、聲明及調用。
1.函數的定義
函數的定義由函數聲明和函數體組成,函數聲明說明函數名稱和參數的類型,函數體包含了實際的函數代碼。
int sum(int a, int b) {
return a + b;
}
2.函數的聲明
函數的聲明告訴編譯器函數的名稱、返回類型及參數的類型,但不包含函數體。
int sum(int a, int b);
3.函數的調用
函數調用是使用函數名稱和參數來調用函數。參數可以是常量、變數或表達式。
int main() {
int a = 1, b = 2;
int s = sum(a, b);
cout << s << endl;
return 0;
}
二、形參與實參
C++中,函數的參數分為形參和實參。
1.形參
形參是在函數定義中聲明的,用於接收函數調用時傳遞來的參數。形參的值不會對函數外部變數產生影響。
int square(int x) {
return x * x;
}
2.實參
實參是在函數調用時傳遞的值,它可以是常量、變數或表達式。實參通過值傳遞、指針傳遞或引用傳遞給函數。
int main() {
int a = 2;
int s = square(a);
cout << s << endl;
return 0;
}
三、返回值
C++函數的返回值可以是任意的數據類型,包括基本數據類型、結構體、指針等。函數可以返回一個值或不返回任何值。
int max(int a, int b) {
if(a > b) {
return a;
}
return b;
}
四、函數重載
函數重載是指在同一作用域中定義多個同名函數,但參數類型或參數個數不同,使其可以根據傳遞的參數進行函數的調用。
void print(int x) {
cout << "Int: " << x << endl;
}
void print(string s) {
cout << "String: " << s << endl;
}
五、默認參數
默認參數是指為參數在聲明時指定默認值,如果函數調用時沒有傳遞該參數,則使用其默認值。
int power(int x, int n = 2) {
int res = 1;
for(int i = 0; i < n; i++) {
res *= x;
}
return res;
}
在函數調用時可以不傳遞參數n。
int main() {
int a = 2;
int s1 = power(a);
int s2 = power(a, 3);
cout << s1 << " " << s2 << endl;
return 0;
}
六、內聯函數
內聯函數是將函數調用替換為函數體本身,以便在程序執行時減少函數調用的開銷。
inline int add(int a, int b) {
return a + b;
}
七、lambda表達式
lambda表達式是匿名函數,可以在函數內部定義和返回函數。它包括一個參數列表和一個函數體,可以捕獲一個或多個函數外部變數。
auto sum = [](int a, int b) {
return a + b;
};
int s = sum(2, 3);
cout << s << endl;
八、總結
C++函數是程序的基本組成部分,函數的定義、聲明及調用、形參與實參、返回值、函數重載、默認參數、內聯函數和lambda表達式是函數的重要概念和技術。熟練掌握這些概念和技術對於開發高質量的C++應用程序至關重要。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/271329.html
微信掃一掃
支付寶掃一掃