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

相关推荐
浪客川几秒前
【百例RUST - 015】闭包
开发语言·后端·rust
Acnidouwo3 分钟前
QT程序的dpi导致显示异常处理方法
开发语言·qt
HZ·湘怡4 分钟前
任意位置 单链表 回归
c语言·链表
初心未改HD5 分钟前
Python零基础到精通教程,数据分析(数据处理,挖掘价值)
开发语言·python
Peregrine912 分钟前
数据结构 - > 双链表
c语言·数据结构·算法
tmacfrank13 分钟前
Kotlin 协程十一 —— 协作、互斥锁与共享变量
java·开发语言·kotlin
lsx20240613 分钟前
Perl 哈希
开发语言
楼田莉子18 分钟前
仿muduo的高并发服务器——前置知识讲解和时间轮模块
服务器·开发语言·c++·后端·学习
花间相见19 分钟前
【MS-Swift实战】:LoRA原理+核心参数(r/alpha)调参指南(适配Qwen-1.8B医疗场景)
开发语言·r语言·swift
OYangxf19 分钟前
C++中的回调函数:从函数指针到现代可调用对象
c++