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++编译器,无法识别出来

相关推荐
aitav014 分钟前
⚡️ Linux Docker 基本命令参数详解
linux·运维·docker
Nazi616 分钟前
docker数据管理
运维·docker·容器
静水楼台x44 分钟前
nginx日志的一点理解
运维·nginx
文牧之1 小时前
Oracle 审计参数:AUDIT_TRAIL 和 AUDIT_SYS_OPERATIONS
运维·数据库·oracle
代码程序猿RIP1 小时前
【Linux】(1)—进程概念-⑤进程调度
linux·运维
MrWang.1 小时前
Ubuntu中SSH服务器安装使用
服务器·ubuntu·ssh
_lizhiqiang1 小时前
联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效
linux·运维·ubuntu·r9000p·无线网卡·8852ce
我的golang之路果然有问题2 小时前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
心随_风动2 小时前
SUSE Linux 发行版全面解析:从开源先驱到企业级支柱
linux·运维·开源
christine-rr3 小时前
征文投稿:如何写一份实用的技术文档?——以软件配置为例
运维·前端·网络·数据库·软件构建