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

相关推荐
Navigator_Z3 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget
c语言·算法·leetcode
xx~t4 小时前
嵌入式——进程与线程1
linux·c语言·学习·嵌入式·进程与线程
m0_547486664 小时前
《JavaScript核心原理 》全套PPT课件2026
开发语言·javascript·ecmascript
老当益壮梁奶奶4 小时前
Linux软件编程学习笔记(七):线程分离与线程间通信详解
linux·c语言·c++·笔记·学习
MC皮蛋侠客4 小时前
Tauri 2.x 系列(五):调用系统 API——官方插件、Rust crate 与原生能力
开发语言·后端·rust
布莱克6055 小时前
软中断和硬中断的区别
开发语言·操作系统
whcyhhh6 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
lzhdim6 小时前
13、JavaScript事件循环机制 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
zbyyd7 小时前
Linux 多线程:互斥锁 & 信号量
linux·c语言·开发语言·网络
船厂电气自动化ai大模型7 小时前
AI大模型与数学·第57课 傅里叶全套工具链综合实战:串联级数/连续变换/DFT/FFT,图像、音频、扩散模型完整例题
数据结构·人工智能·深度学习·算法·机器学习