c++语法之缺省参数

缺省参数通俗来说就是一个函数里面有初值的参数。有初值那么就可以不传参。

基础语法

缺省分为全缺省和半缺省

全缺省

我们来看它的基础语法,我们以add函数为例:

语法基础就是在给要规定成缺省参数的变量后面=一个值

我们可以看到给add传参就会使用默认的数据。

半缺省

 半缺省就是既有实参(不是缺省参数)又有缺省参数的。它的语法是差不多的,但是缺省参数和非缺省参数的顺序是有规定的,我们看下面注意事项。

注意事项

这里定义半缺省参数不是随便定义的,比如第一个定义缺省参数,第二个就不定义为缺省参数,这样是错误的。

这里规定:

我们的缺省参数全部靠右边,我们定义了缺省参数后后面的参数就不能是实参了,如图理解

这是规定成这样的,而我的理解是:这样规定,函数传参就都是这样的:add(a,b,c)

如果不是这种规定,那么传参就是add(a,  ,b,c, , , ,d),这样写会觉得很乱,所以按上面方法是有调理性的。

缺省参数的用途

我们编写顺序表数据结构的时候,会有一个初始的内存创建,那么我们就可以定义一个缺省参数来决定我们开始开辟多少个内存。

如果我们不清楚开多少,我们就可以把初始值设为4,如果我们清楚是要插入1k个数据,那么直接初始化1k个就行了。

这样的好处就是,我们直接创建1k个数据可以避免我们频繁使用realloc来扩容,这样定义直接避免了扩容带来的性能损耗。

另外其他的例子等待大家去发掘。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL EXPLAIN 中的 type 和 ref 字段

在 MySQL 中,EXPLAIN 语句用于分析 SQL 查询的执行计划。EXPLAIN 输出的结果中包含多个字段,其中 type 和 ref 字段是理解查询执行方式的重要部分。 type 字段 type 字段表示 MySQL 在查询过程中使用的访问类型,反映了查询的效率。访问类型从…

跨语言的智能:在多种编程环境中部署Mojo模型

跨语言的智能:在多种编程环境中部署Mojo模型 在当今的软件开发领域,多样化的编程语言和技术栈共存。Mojo模型,作为H2O.ai提供的一种模型部署格式,允许机器学习模型在不同的编程环境中运行,无需依赖原始的模型训练环境…

精准选择广告工具,提升推广效果

在考虑使用巨量引擎之前,我们首先要明白它的本质。巨量引擎是一个付费广告平台,包含了多种推广工具,如巨量ID、巨量千川、巨量本地推,以及企业蓝V等。很多人希望通过这个平台提升抖音账号的流量和曝光度,但真正有效的流…

Failed to detect a default CUDA architecture 的参考解决方法

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境: Ubuntu20.04 一、问题描述 编译调用CUDA的程序时,遇到如下报错: -- The CUDA compiler identification is unknown CMake Error at /usr/local/share/cmake…

刷题——输出二叉树的右视图

输出二叉树的右视图_牛客题霸_牛客网 两个考点: 给出前序和后续遍历的二叉树,构建二叉树 二叉树构建后,输出右视图 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定…

uniapp版即时通讯软件 IM社交交友聊天系统 语音视频通话双端APP 聊天交友APP源码 (含搭建教程)

修复音视频(官方团队插件,无二次费用),文件发送,公告,签到,发现页,朋友圈删除,轮询客服,马甲等 可内嵌第三方网页连接,后台添加,带完…

从零开始做题:好怪哦

题目 给出一个压缩文件 解题 方法1 01Edit打开,发现是个反着的压缩包(末尾倒着的PK头) import os# 目标目录路径 # target_directory /home/ai001/alpaca-lora# 切换到目标目录 # os.chdir(target_directory)# 打印当前工作目录以确认…

MySQL之MySQL用户工具(二)

MySQL用户工具 SQL实用集 服务器本身也内置有一系列免费的附加组件和实用集可以使用;其中一些确实相当强大。 1.common_schema Shlomi Noach的common_schema享目是一套针对服务器脚本话和管理的强大的代码和视图。common_schema对于MySQL好比jQuery对于JavaScript.2.mysql-s…

1326:【例7.5】 取余运算(mod)

【题目描述】 输入b,p,kb,p,k的值,求bpmodkbpmodk的值。其中b,p,kkb,p,kk为长整型数。 【输入】 输入b,p,kb,p,k的值。 【…

如何使一个盒子水平垂直居中(常用的)

目录 1. 使用Flex布局 2. 使用Grid布局 3.绝对定位 负外边距 (必须知晓盒子的具体大小) 4.绝对定位外边距 auto 5.绝对定位 transform (无须知晓盒子的具体大小) 1. 使用Flex布局 如何实现: 在父元素上添加: display: flex; align-items: center…

如何监控和优化 PostgreSQL 中的连接池使用?

文章目录 一、连接池的基本概念二、监控 PostgreSQL 连接池使用的重要性(一)性能优化(二)资源管理(三)故障排查 三、PostgreSQL 连接池监控指标(一)活跃连接数(二&#x…

代码随想录-DAY⑤-哈希表——leetcode 242 | 349 | 202

242 思路 先遍历字符串1, 记录每个字符的个数, 然后遍历字符串2, 挨个减去字符个数, 出现小于零的个数说明字符总数不重合。 时间复杂度:O(n) 空间复杂度:O(1) 代码 class Solution { public:bool isA…

适合宠物饮水机的光电传感器有哪些

如今,随着越来越多的人选择养宠物,宠物饮水机作为一种便捷的饮水解决方案日益受到欢迎。为了确保宠物随时能够获得足够的水源,宠物饮水机通常配备了先进的光电液位传感器技术。 光电液位传感器在宠物饮水机中起着关键作用,主要用…

C++初阶学习第一弹——入门学习C++

目录 1.什么是C 2.C关键字 3.命名空间 3.1命名空间的定义 3.2命名空间的使用 1、加命名空间名称及作用域限定符 2、使用 using 将命名空间中某个成员引入 3.使用using namespace 命名空间名称 引入 4.C输入&输出 5.缺省参数 5.1 缺省参数概念 5.2缺省参数分类 6. …

23.状态机设计——可乐机设计(2.5元1瓶可乐,有找零功能)

(1)Visio视图: (2)Verilog代码: module fsm_cola_plus(clk,reset_n,pi_money_one,pi_money_half,po_cola,po_money);input clk;input reset_n;input pi_money_one;input pi_money_half;output po_cola;out…

每天10个vue面试题(一)

1. Vue的基本原理? 当一个Vue实例创建时,Vue会遍历data中的属性,用Object.defineProperty(vue3.0使用proxy )将它们转为 getter/setter,并且在内部追踪相关依赖,在属性被访问和修改时通知变化。…

如何提问 如何回答

如何提问 如何回答 如何提出一个好问题 1、选择合适的平台或专家:选择合适的论坛,或者能够给你答案的地方或者人 2、清晰描述问题背景:描述问题的背景,清楚明确地表达你的问题以及需求,不需要加过多的语气助词&#…

为什么要学习Go?

目录 前言 一、Go 语言的发展史 Robert Griesemer Rob Pike Ken Thompson 二、Go语言全面分析 主要优势 主要挑战 三、Go 语言最佳实践 1. 云原生开发 2. 网络服务开发 3. 系统工具和实用程序 4. 数据处理和分析 四、哪些知名公司使用 Go 语言? Google …

vue详解

目录 ​编辑 常用指令 v-for v-bind v-if & v-show v-if v-show v-on v-model Vue生命周期 ​编辑 Axios Axios使用步骤 Axios-请求方式别名 Vue简单案例 常用指令 指令:HTML标签上带有 v-前缀的特殊属性,不同的指令具有不同的含义,可…

深入理解sklearn中的模型参数优化技术

参数优化是机器学习中的关键步骤,它直接影响模型的性能和泛化能力。在sklearn中,参数优化可以通过多种方式实现,包括网格搜索(GridSearchCV)、随机搜索(RandomizedSearchCV)和贝叶斯优化等。本文…