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

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;
}

缺省值定义规则

从右向左定义

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

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

http://www.xdnf.cn/news/4646.html

相关文章:

  • 如何在Jmeter中调用C程序?
  • 【软考-高级】【信息系统项目管理师】【论文基础】采购管理过程输入输出及工具技术的使用方法
  • 永久免费的小工具,内嵌微软接口
  • AWS LB target group 监听端口的增加 (TCP还是UDP)
  • Redis实现分布式获取全局唯一自增ID的案例。
  • Dify X 奇墨科技,让AI大模型从“巨头专属”变为“触手可及”
  • Windows系统下使用Kafka和Zookeeper,Python运行kafka(一)
  • 单片机嵌入式滤波算法库
  • 从颜料混色到网络安全:DH算法的跨界智慧
  • Java实现桶排序算法
  • 【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit
  • 【Ubuntu】安裝向日葵远程控制
  • 可观测性方案怎么选?SelectDB vs Elasticsearch vs ClickHouse
  • [逆向工程]什么是DLL重定向(十九)
  • 基于Stable Diffusion XL模型进行文本生成图像的训练
  • 《社交应用架构生存战:React Native与Flutter的部署容灾决胜法则》
  • k8s(11) — 探针和钩子
  • SpringBoot学生操行评分系统源码设计开发
  • C++函数传值与传引用对比分析
  • 课外活动:简单了解原生测试框架Unittest前置后置的逻辑
  • 录播课视觉包装与转化率提升指南
  • 【NextPilot日志移植】整体功能概要
  • 迪士尼机器人BD-X 概况
  • 5G + AR:让增强现实真正“实时交互”起来
  • 前端取经路——框架修行:React与Vue的双修之路
  • 数据来源合法性尽职调查:保障权益的关键防线
  • Android不能下载Gradle,解决方法Could not install Gradle distribution from.......
  • 2025最新:3分钟使用Docker快速部署单节点Redis
  • python+open3d获取点云的最小外接球体及使用球体裁剪点云
  • 蓝桥杯青少 图形化编程(Scratch)每日一练——校门外的树