《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){...}

相关推荐
木心操作7 分钟前
js生成excel表格进阶版
开发语言·javascript·ecmascript
听情歌落俗20 分钟前
MATLAB3-1变量-台大郭彦甫
开发语言·笔记·算法·matlab·矩阵
量子炒饭大师30 分钟前
收集飞花令碎片——C语言关键字typedef
c语言·c++·算法
cellurw1 小时前
Linux下C语言实现HTTP+SQLite3电子元器件查询系统
linux·c语言·http
zhangfeng11331 小时前
在 R 语言里,`$` 只有一个作用 按名字提取“列表型”对象里的单个元素 对象 $ 名字
开发语言·windows·r语言
文弱书生6561 小时前
5.后台运行设置和包设计与实现
服务器·开发语言·c#
编码浪子1 小时前
趣味学RUST基础篇(异步补充)
开发语言·后端·rust
..过云雨1 小时前
03.【Linux系统编程】基础开发工具1(yum软件安装、vim编辑器、编辑器gcc/g++)
linux·c语言·笔记·学习
宁静致远20211 小时前
【C++设计模式】第五篇:装饰器模式
c++·设计模式·装饰器模式
songroom1 小时前
Rust : 关于Deref
开发语言·后端·rust