您的位置:

C++函数定义及使用指南

一、函数的定义、声明及调用

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++应用程序至关重要。