c++ 缺省函数

定义

"缺省函数" 通常是指在编程语言或其他情境中,当没有明确指定某个函数的具体实现或参数值时,所采用的默认函数或默认行为。以下是关于缺省函数的一些主要信息:

作用:为函数提供默认的实现或参数值,使得在调用函数时如果没有提供完整的信息,程序仍能按照预定义的方式运行,增强了程序的健壮性和代码的可维护性。

规则

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参

则采用该形参的缺省值,否则使用指定的实参,缺省参数分为全缺省和半缺省参数。(有些地方把

缺省参数也叫默认参数)

全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左

依次连续缺省,不能间隔跳跃给缺省值。

带缺省参数的函数调用,C++规定必须从左到右依次给实参,不能跳跃给实参。

函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省

值。

代码讲解

cpp 复制代码
#define   _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <assert.h>
using namespace std;
void Func(int a = 0)
{
	cout << a << endl;
}
int main()
{
	Func(); // 没有传参时,使⽤参数的默认值
	Func(10); // 传参时,使⽤指定的实参
	return 0;
}

即在Func这个函数中,倘若给予其实参,那么便使用指定的实参值,如果没有给定实参值,便使

用函数声明时的默认值

更多应用

如下代码,分别为全缺省和半缺省

在各个方向皆有所应用

cpp 复制代码
using namespace std;
// 全缺省
void Func1(int a = 10, int b = 20, int c = 30)
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl << endl;
}
// 半缺省
void Func2(int a, int b = 10, int c = 20)
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl << endl;
}
int main()
{
	Func1();
	Func1(1);
	Func1(1, 2);
	Func1(1, 2, 3);
	Func2(100);
	Func2(100, 200);
	Func2(100, 200, 300);
	return 0;
}

注意;在c++中,不可使用Func(1,,2)

对于c++编译器,无法识别出来

相关推荐
SPC的存折3 分钟前
2、Docker命令与镜像、容器管理
linux·运维·服务器·docker·容器·eureka
D4c-lovetrain6 分钟前
Linux个人心得26 (redis主从复制全流程,详细版)
linux·运维·服务器
Bert.Cai19 分钟前
Linux whoami命令详解
linux·运维
x***r15128 分钟前
驱动精灵离线版使用指南:免联网快速安装驱动(万能网卡版)
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志36 分钟前
Linux GPIO子系统与中断驱动开发:从入门到实战(完整版)
linux·运维·驱动开发
147API43 分钟前
多模型路由规则设计实战:第一版系统别做成黑盒
服务器·前端·javascript
kyle~1 小时前
SPOOLing 技术(假脱机技术)独占设备 → 虚拟共享设备
运维·服务器·网络
liliangcsdn1 小时前
多轮对话长上下文-增量摘要和结构化摘要示例
服务器·数据库·microsoft
卡比巴拉—林1 小时前
Linux SSH免密登录配置(双向免密)
linux·运维·ssh
NineData1 小时前
NineData 5.0 产品发布和生态伙伴大会,圆满举办!
运维·数据库·人工智能