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

相关推荐
程序员大雄学编程7 小时前
定积分的几何应用(一):平面图形面积计算详解
开发语言·python·数学·平面·微积分
Evand J7 小时前
【MATLAB例程】二维平面的TOA定位,几何精度因子GDOP和克拉美罗下界CRLB计算与输出
开发语言·matlab·平面·crlb·gdop
草莓火锅8 小时前
用c++求第n个质数
开发语言·c++·算法
GISer_Jing8 小时前
OSG多视口与多通道渲染核心技术解析
c++·3d·新浪微博
aniden8 小时前
Swagger从入门到实战
java·开发语言·spring
玖剹8 小时前
多线程编程:从日志到单例模式全解析
java·linux·c语言·c++·ubuntu·单例模式·策略模式
emma羊羊8 小时前
【PHP反序列化】css夺旗赛
开发语言·网络安全·php
下午见。8 小时前
【C语言学习笔记】动态内存分配:malloc/free的正确打开方式
c语言·笔记·学习
blog_wanghao8 小时前
MFC: 使用相对路径读取文件位置
c++·mfc
threelab8 小时前
Merge3D:重塑三维可视化体验的 Cesium+Three.js 融合引擎
开发语言·javascript·3d