《C++避坑神器·十六》函数默认参数和占位参数

C++中函数是可以给默认参数的

注意点:

(1)一旦某个参数设置为默认参数,那跟着后面的所有参数都必须设置默认参数

(2)函数的声明和定义只能有一个可以设置默认参数,两个都设置会报错

cpp 复制代码
int f1(int a = 1, int b = 2);  //声明设置默认参数
int f2(int a, int b)  //定义不设置默认参数
{
	return a+b;
}

int f3(int a, int b = 2)  //b给了默认参数
{
	return a+b;
}

main()
{
	int i = f3(10); //12,本来函数需要传两个参数,但因为函数有了一个默认参数,现在只需要传一个参数即可。
	int j = f3(10, 20); //30,b传了参数20,这时会把默认参数2覆盖
}	

占位函数:

cpp 复制代码
int f(int i, int) 
{
	return i;
}

本身函数只需要输入一个参数即可,但有个占位参数int,所以函数在传参的时候需要填补一个int型的占位参数,并且占位参数也可以设置为默认参数,如:int f(int i, int = 10){...}

相关推荐
风筝在晴天搁浅12 分钟前
hot100 234.回文链表
数据结构·链表
superman超哥13 分钟前
仓颉类型别名的使用方法深度解析
c语言·开发语言·c++·python·仓颉
LFly_ice17 分钟前
Next-4-路由导航
开发语言·前端·javascript
38242782727 分钟前
python :__call__方法
开发语言·python
是Yu欸30 分钟前
从Ascend C算子开发视角看CANN的“软硬协同”
c语言·开发语言·云原生·昇腾·ascend·cann·开放社区
黎雁·泠崖31 分钟前
C 语言字符串进阶:strcpy/strcat/strcmp 精讲
c语言·开发语言
赴前尘1 小时前
golang获取一个系统中没有被占用的端口
开发语言·后端·golang
嘴贱欠吻!1 小时前
JavaSE基础知识
java·开发语言
逝水如流年轻往返染尘1 小时前
Java输入输出
java·开发语言
hqwest1 小时前
码上通QT实战03--登录逻辑
开发语言·qt·登录·嵌入式实时数据库·界面设计