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

暑期C++ 缺省参数

有任何不懂的问题可以评论区留言,能力范围内都会一一回答

1.缺省参数的概念

缺省参数是是声明或定义参数时为函数的参数指定一个缺省值。在调用该函数值时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参

看了上面定义后,我们直接上实战代码

其实从上面代码运行的结果我们要知道两点

(1)函数传参是从左到右传参 

(2)传参当没有参数时就会使用缺省参数,但是print(1,,2);这样是不可以的

3.部分缺省参数

部分缺省也是有顺序的,我们思考一下,既然传参是从左往右传参的,那么我们缺省是从哪到哪呢?

先说结论:从右到左

那么为什么是从右到左呢?

我们先来看一段错误的从左到右缺省的代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void print(int a = 1, int b , int c)
{printf("%d+%d=%d\n", a, b, c);
}
int main(void) {print();print(1, 2);print(2, 7, 9);print(2, 1);return 0;
}

print(1,2);

由于传参是从左到右的

那么这个地方函数中的a=1

那么这个2是传给b的还是c的呢?如果传给b那么c是多少呢?

亦或者是这个1是传给a的,2是传给b的

这回引起很大的问题,因此半缺省是从右往左的,并且不可以指定缺省和传参

最后老规矩,以一张思维导图作为结尾

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 视觉-语言大模型应用
  • 大厂面经:大疆嵌入式面试题及参考答案(4万字长文:持续更新)
  • 20240730 每日AI必读资讯
  • 使用easypoi读取Excel模板
  • JAVA8中的Stream API是什么及其用法
  • 数据结构(二叉树-2)
  • TCP/IP的三次握手和四次握手
  • 【MetaGPT系列】【MetaGPT完全实践宝典——多智能体实践】
  • 【Opencv】色彩空间 color space
  • CSS布局:左侧一个固定元素, 右侧元素数量不定, 要求右侧元素数量多时直接另起一行, 左侧元素单独一行
  • vscode搭建rust开发环境
  • 【Langchain大语言模型开发教程】评估
  • 数据集相关类代码回顾理解 | utils.make_grid\list comprehension\np.transpose
  • C++实用指南:Lambda 表达式的妙用
  • C#中的字符串
  • 【Linux系统编程】快速查找errno错误码信息
  • 08.Android之View事件问题
  • CSS相对定位
  • Docker入门(二) - Dockerfile
  • ECMAScript入门(七)--Module语法
  • egg(89)--egg之redis的发布和订阅
  • Otto开发初探——微服务依赖管理新利器
  • React-Native - 收藏集 - 掘金
  • supervisor 永不挂掉的进程 安装以及使用
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 初识 beanstalkd
  • 仿天猫超市收藏抛物线动画工具库
  • 工作手记之html2canvas使用概述
  • 官方解决所有 npm 全局安装权限问题
  • 记录:CentOS7.2配置LNMP环境记录
  • 批量截取pdf文件
  • 算法之不定期更新(一)(2018-04-12)
  • 通过npm或yarn自动生成vue组件
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 自定义函数
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 职场生活之道:善于团结
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #pragma 指令
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (SERIES12)DM性能优化
  • (二)Linux——Linux常用指令
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (回溯) LeetCode 78. 子集
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (学习日记)2024.01.19
  • (一) 初入MySQL 【认识和部署】
  • (一)Linux+Windows下安装ffmpeg
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET简谈设计模式之(单件模式)
  • .net通过类组装数据转换为json并且传递给对方接口