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

相关推荐
go_bai6 分钟前
Linux--进程池
linux·c++·经验分享·笔记·学习方法
Mr.Jessy6 分钟前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
QT 小鲜肉9 分钟前
【QT/C++】Qt网络编程进阶:UDP通信和HTTP请求的基本原理和实际应用(超详细)
c语言·网络·c++·笔记·qt·http·udp
studyForMokey13 分钟前
【Kotlin内联函数】
android·开发语言·kotlin
小虚竹18 分钟前
Rust日志系统完全指南:从log门面库到env_logger实战
开发语言·后端·rust
星释18 分钟前
Rust 练习册 8:链表实现与所有权管理
开发语言·链表·rust
今日说"法"20 分钟前
Rust 日志级别与结构化日志:从调试到生产的日志策略
开发语言·后端·rust
-大头.21 分钟前
Rust并发编程实战技巧
开发语言·后端·rust
Yurko1335 分钟前
【C语言】选择结构和循环结构的进阶
c语言·开发语言·学习
小白学大数据44 分钟前
构建1688店铺商品数据集:Python爬虫数据采集与格式化实践
开发语言·爬虫·python