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

相关推荐
码农飞哥8 分钟前
从Java后端到AI应用开发,我这两年做了什么
java·开发语言·人工智能
胡童嘉18 分钟前
C语言考研《谭浩强C语言》教材第一章理论+实践汇总
c语言·开发语言·考研
初心未改HD20 分钟前
Go语言Slice切片底层原理深度解析
开发语言·golang
程序员三明治27 分钟前
【AI】Java 调用大模型 API 实战:从 OpenAI 协议到 SiliconFlow 流式响应解析
java·开发语言·人工智能
世界尽头与你27 分钟前
Go 语言高级函数特性
开发语言·golang
睡觉就不困鸭29 分钟前
第十八天 有效的括号
数据结构·算法
小小de风呀32 分钟前
de风——【从零开始学C++】(三):类和对象(中序):默认成员函数全解析
开发语言·c++
cen__y33 分钟前
Linux06(进程)
linux·运维·服务器·c语言·ubuntu
迷途之人不知返33 分钟前
vector的模拟实现
c++
龙俊杰的读书笔记1 小时前
一文读懂python并发&并行编程--以xinference框架应用为例
开发语言·网络·python