C++函数详解
目录
- 函数声明定义
- 无参数无返回值
- 无参数有返回值
- 有参数有返回值
- 参数传值和传址
- 默认参数
- 用法
- 注意事项
- 函数指针
- 函数重载
- 定义
- 调用
- 使用场景
- 注意事项
- 递归函数
1. 函数声明定义
无参数无返回值
void fun()
{
//函数体
}
C++不需要参数列表中的void。
无参数有返回值
int fun()
{
return 0;
}
return语句后可以直接返回数值。
有参数有返回值
int fun(int a, float b)
{
return a + b;
}
参数列表定义参数,可以有不同类型。
参数传值和传址
值传递:
void fun(int a)
{
a++;
}
地址传递:
void fun(int* a)
{
(*a)++;
}
2. 默认参数
用法
右侧参数可以指定默认值:
void fun(int a, int b = 0)
{
}
调用时可省略默认参数。
注意事项
- 声明时指定默认值,定义时不指定
- 从右向左逐个指定默认参数
3. 函数指针
定义函数指针:
int (*pf)(int);
4. 函数重载
定义
同名不同参数列表的函数:
void fun(int a);
void fun(double a);
调用
会自动选择匹配的函数。
使用场景
提高函数的灵活性。
注意事项
- 默认参数可能造成调用不明确
- 返回值不作为重载条件
5. 递归函数
函数调用自身。