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

相关推荐
嵌入式冰箱3 分钟前
2026 年“认证杯”数学中国数学建模网络挑战赛--C 题智能增材制造
c语言·数学建模·制造
王家视频教程图书馆6 分钟前
rust 写gui 程序 最流行的是哪个
开发语言·后端·rust
Wadli9 分钟前
Oncall Agent项目
开发语言
艾莉丝努力练剑14 分钟前
【QT】Qt常用控件与布局管理深度解析:从原理到实践的架构思考
linux·运维·服务器·开发语言·网络·qt·架构
杜子不疼.16 分钟前
用 Python 实现 RAG:从文档加载到语义检索全流程
开发语言·人工智能·python
chao18984416 分钟前
基于改进二进制粒子群算法的含需求响应机组组合问题MATLAB实现
开发语言·算法·matlab
lcj251117 分钟前
字符函数,字符串函数,内存函数
c语言·开发语言·c++·windows
独特的螺狮粉17 分钟前
古诗词飞花令随机出题小助手:鸿蒙Flutter框架 实现的古诗词游戏应用
开发语言·flutter·游戏·华为·架构·开源·harmonyos
cch891820 分钟前
C++、Python与汇编语言终极对比
java·开发语言·jvm
never forget shyang21 分钟前
CCS20.2.0使用教程
c语言·git·单片机