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

相关推荐
郭涤生13 小时前
std::condition_variable的使用及主要事项
开发语言·c++
小菜鸡桃蛋狗13 小时前
C++——list
开发语言·c++
handler0113 小时前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
fish_xk13 小时前
c++中的多态
c++
汉克老师13 小时前
GESP2025年6月认证C++五级( 第三部分编程题(1、奖品兑换))
c++·二分算法·gesp5级·gesp五级
学会去珍惜13 小时前
学会C语言可以做什么
c语言·网络编程·游戏开发·嵌入式系统·系统编程
hopetomorrow13 小时前
学习路之PHP --PHP 常用扩展及作用表
开发语言·学习·php
Lhan.zzZ13 小时前
笔记_2026.4.28_003
c++·笔记·qt·opencv
simple-L613 小时前
Java开发痛点技术文章大纲
java·开发语言
stolentime14 小时前
我常常追忆过去
c++·里程碑纪念