C++教程(七)——函数
发布人:shili8
发布时间:2024-12-27 03:21
阅读次数:0
**C++ 教程 (七) —— 函数**
在 C++ 中,函数是程序执行的基本单位。函数可以封装一个独立的功能,使得程序更易维护、易扩展和易理解。
###什么是函数?
函数是一段代码块,它接受输入(参数),执行某些操作,然后返回输出(结果)。函数可以被多次调用,避免重复编写相同的代码。
### 函数定义函数定义包括以下几个部分:
* **函数名**:一个唯一的名称,用于区分不同的函数。
* **参数列表**:函数接受的输入参数,使用圆括号括起来。
* **返回类型**:函数执行后返回的数据类型。
* **函数体**:函数内部的代码块。
### 函数声明函数声明是函数定义的一种简化形式。它只包含函数名和参数列表,而不涉及函数体。
cpp// 函数声明int max(int a, int b); // 函数定义int max(int a, int b) { return (a > b) ? a : b; }
### 函数调用函数可以通过其名称和参数列表来调用。例如:
cppint result = max(5,10); cout << "最大值:" << result << endl;
### 函数重载函数重载是指在同一个作用域中定义多个具有相同名称但不同的函数。这些函数可以接受不同类型的参数,并执行不同的操作。
cpp// 函数重载示例int max(int a, int b) { return (a > b) ? a : b; } double max(double a, double b) { return (a > b) ? a : b; }
### 函数模板函数模板是指在同一个作用域中定义多个具有相同名称但不同的函数,使用模板参数来表示不同类型的参数。
cpp// 函数模板示例template <typename T> T max(T a, T b) { return (a > b) ? a : b; }
### 匿名函数匿名函数是指没有名称的函数,它们通常用于 lambda 表达式中。
cpp// 匿名函数示例auto add = [](int a, int b) { return a + b; }; cout << "结果:" << add(5,10) << endl;
### lambda 表达式lambda 表达式是指匿名函数的简化形式,它们通常用于表达式中。
cpp// lambda 表达式示例auto add = [](int a, int b) { return a + b; }; cout << "结果:" << add(5,10) << endl;
### 函数指针函数指针是指一个变量,它存储了一个函数的地址。
cpp// 函数指针示例int (*func)(int, int); func = max; cout << "最大值:" << func(5,10) << endl;
### 高阶函数高阶函数是指接受函数作为参数或返回函数作为结果的函数。
cpp// 高阶函数示例auto add = [](int a, int b) { return a + b; }; auto multiply = [](int a, int b) { return a * b; }; auto result = [add, multiply](int x) { return add(x,5) + multiply(x,10); }; cout << "结果:" << result(5) << endl;
### 总结本教程介绍了 C++ 中函数的基本概念,包括函数定义、函数声明、函数调用、函数重载、函数模板、匿名函数、lambda 表达式、函数指针和高阶函数。这些知识将有助于你更好地理解 C++语言,并帮助你编写更加高效、易维护的程序。