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

相关推荐
不会书18 小时前
Linux字符设备驱动的演进:从传统框架到现代实践
linux·运维·服务器·c语言·驱动开发
whm277718 小时前
Visual Basic 拖放
开发语言·visual studio
阿里嘎多学长18 小时前
2025-12-09 GitHub 热点项目精选
开发语言·程序员·github·代码托管
m5655bj18 小时前
如何通过 C# 实现 Markdown 转 HTML 格式
开发语言·c#·html
曹牧18 小时前
C#:$ 符号
开发语言·javascript·c#·ecmascript
行云流水200018 小时前
青少年编程考级覆盖哪些科目?图形化Python C++全包含
开发语言·c++·青少年编程
爱吃大芒果18 小时前
Flutter 与原生交互入门:MethodChannel 基础使用教程
开发语言·flutter·华为·cocoa·交互·harmonyos
小尧嵌入式18 小时前
在windows上安装ffmpeg及新版ffmpeg命令
c++·windows·算法·ffmpeg
charlie11451419118 小时前
快速Git教程
开发语言·git·学习·版本控制
别动哪条鱼18 小时前
AVFrame的data数组数据结构详解
网络·数据结构·ffmpeg