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

相关推荐
坐吃山猪1 分钟前
【多线程】FutureTask多线程底层实现
java·开发语言·数据库
土司大王2 分钟前
LeetCode hot100——缺失的第一个正数
数据结构·算法·leetcode
XR1234567885 分钟前
办公组网像“看病“:先问诊,再选型
开发语言·php
布莱克6056 分钟前
strcpy 函数详解:作用、用法与安全缺陷
c语言·开发语言·c++·安全
不想看见40414 分钟前
一次关于“鼠标是不是串口”的追问:从USB协议到CAN总线
c++·qt·计算机外设
软件黑马王子16 分钟前
3.单例模式问题1:构造函数
开发语言·单例模式·c#
Freak嵌入式23 分钟前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析
java·大数据·开发语言·单片机·嵌入式硬件·硬件架构
Zenova EdgeOS30 分钟前
等保 2.0 在工业网关的落地:测评点、整改、长期维护
c++·边缘计算·工业网关
DDXYcoder32 分钟前
内存函数与数据存储
c语言
铅笔小新z40 分钟前
【数据结构】顺序表和链表
数据结构·链表