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

相关推荐
骑上单车去旅行1 小时前
MD5校验对比脚本
linux·服务器·windows
期待着20131 小时前
docker 安装 ,在centos7.9
运维·docker·容器
踏月的造梦星球1 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
MXsoft6182 小时前
平台化是智能运维发展的必然趋势吗?
运维
ShirleyWang0122 小时前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
liuccn2 小时前
Linux 存储系统:LVM 与直接分区
linux·运维
捷配链2 小时前
六层服务器板行业材料与工艺标准化选型指南
服务器·制造·pcb
xexpertS4 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
xuefeiniao5 小时前
CentOS + 宝塔服务器偶发 SSH、面板、网站全部无法访问排查记录(PHP-FPM 内存耗尽案例)
服务器·centos·ssh·php
带娃的IT创业者5 小时前
突破内存瓶颈:利用 Nvidia GPU 显存作为 Linux Swap 空间的深度实践
linux·运维·服务器·nvidia·swap·gpu显存