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

相关推荐
杨云龙UP11 分钟前
从0到可落地:Oracle RMAN异地NFS备份标准脚本(多实例通用)
linux·运维·数据库·oracle
*星星之火*16 分钟前
【大白话 AI 答疑】第6篇 大模型指令微调:instruction/input/output核心解析及案例
服务器·前端·人工智能
黑客思维者16 分钟前
嵌入式系统DevSecOps深度设计:构建固件级漏洞免疫体系的自动化管道
运维·自动化·devsecops·嵌入式系统
古城小栈17 分钟前
吃透Cron表达式
linux·服务器·数据库
香煎三文鱼1 小时前
数据库查询超时,并发问题处理
服务器·数据库
2501_915921431 小时前
Bundle Id 创建与管理的工程化方法,一次团队多项目协作中的流程重构
服务器·ios·小程序·重构·https·uni-app·iphone
ZKNOW甄知科技1 小时前
AI-ITSM的时代正在到来:深度解读Gartner最新报告
大数据·运维·人工智能·低代码·网络安全·微服务·重构
qqssss121dfd2 小时前
计算机网络(第8版,谢希仁)第二章习题解答
服务器·网络·计算机网络
4t4run2 小时前
21、Linux常用命令-进程内存CPU相关命令
linux·运维·服务器
weixin_307779132 小时前
Jenkins Ioncions API 插件:现代化图标库在持续集成中的应用
java·运维·开发语言·前端·jenkins