当前位置: 首页 > news >正文

C++-缺省参数

缺省参数

缺省参数也叫默认参数

指的是在函数参数的位置,提前定义一个缺省值(即提前定义一个值),当函数接收到参数时,如果定义缺省值的位置未接收到参数,那么这个位置会自动使用缺省值

通过定义缺省参数的个数可分为以下情况

全缺省

全缺省就是将函数的参数都定义一个缺省值

#include <iostream>
using namespace std;// 全缺省:所有参数都有默认值
void printInfo(string name = "Unknown", int age = 0, string country = "Earth") {cout << "Name: " << name << ", Age: " << age << ", Country: " << country << endl;
}int main() {printInfo();               // 输出:Name: Unknown, Age: 0, Country: EarthprintInfo("Alice");        // 输出:Name: Alice, Age: 0, Country: EarthprintInfo("Bob", 25);      // 输出:Name: Bob, Age: 25, Country: EarthprintInfo("Cathy", 30, "Mars"); // 输出:Name: Cathy, Age: 30, Country: Marsreturn 0;
}

半缺省

半缺省就是将函数的参数只定义部分缺省值

#include <iostream>
using namespace std;// 半缺省:length 和 width 必须传递,height 可缺省(默认 10)
double calculateVolume(double length, double width, double height = 10) {return length * width * height;
}int main() {// 必须至少传递前两个参数cout << "Volume 1: " << calculateVolume(2, 3) << endl;        // 2*3*10 = 60cout << "Volume 2: " << calculateVolume(2, 3, 5) << endl;     // 2*3*5 = 30return 0;
}

缺省值定义规则

从右向左定义

默认参数必须从参数列表的最右侧开始定义,且必须连续向左延伸

不可跳跃:默认参数必须连续设置,不能间隔未设置默认值的参数

相关文章:

  • 菊厂笔试1
  • 电子电器架构 --- 电气/电子架构如何发展以满足其处理和传感器融合需求
  • CAN总线通讯接口卡:工业通信的核心桥梁
  • 在UI原型设计中,低、高保真原型图有什么区别?
  • 验证码(笔记)
  • web 自动化之 Selenium 元素定位和浏览器操作
  • 数据结构 - 10( B- 树 B+ 树 B* 树 4000 字详解 )
  • Node.js 技术原理分析系列9——Node.js addon一文通
  • AI开发跃迁指南(第三章:第四维度1——Milvus、weaviate、redis等向量数据库介绍及对比选型)
  • 腾讯云:数字世界的“量子熔炉”与硅基文明引擎​
  • LeetCode 热题 100 238. 除自身以外数组的乘积
  • 16011.自动分簇KMeans算法
  • element MessageBox 实现底部三个按钮或者更多按钮—开箱即用
  • 【MySQL】第二弹——MySQL表的增删改查(CURD))
  • 【MySQL】存储引擎 - MEMORY详解
  • 使用 CDN 在国内加载本地 PDF 文件并处理批注:PDF.js 5.x 实战指南
  • Ubuntu 安装 Nginx
  • 【hadoop】案例:Sqoop迁移仓库数据
  • OpenTelemetry 介绍
  • 【软件推荐——ScreenToGif】
  • 国家税务总局泰安市税务局:山东泰山啤酒公司欠税超536万元
  • 司法部:持续规范行政执法行为,加快制定行政执法监督条例
  • 全国铁路五一假期累计发送1.51亿人次,多项运输指标创历史新高
  • 金融监管总局将出八大增量政策,李云泽详解稳楼市稳股市“组合拳”
  • 印巴战火LIVE|巴基斯坦多地遭印度导弹袭击,巴总理称“有权作出适当回应”
  • A股三大股指集体高开大涨超1%,券商、房地产涨幅居前