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

C++之默认参数详解

下面将介绍另一项新的内容--默认参数。默认参数指的是当函数中调用中缺省了实参自动使用一个值,比如下面程序:

void Print(int a=1)
{
    cout<<”a的值:“<<a<<endl;
}

此时如果不给参数,打印的就是1,如果给了其他的数,就打印其他的数。

其实,默认参数可以分为两种,一种是全缺省参数,一种是半缺省参数。即全缺省参数就是所有参数都缺省了,都有默认值,半缺省就是一部分有默认值,一部分没有。

首先我们先来我们来看下全缺省的情况:

void funk(int a=1,int b=2,int c=3)

这样就属于全缺省,每一个参数都有自己的默认值,但在使用这个全缺省时,实参只能从左往右的顺序依次赋给相应的形参,而不能跳过任何参数,因此下面的调用是不被允许的:

func(3, ,4);

默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式,在设计类时您将发现,通过使用默认参数,可以减少要定义的析构函数、方法以及方法重载的数量。

接下来我们来学习下半缺省状态,下面就是半缺省:

func(int a,int b=1;int c=2);

从上面可知,缺省状态只能从右边开始,连续的,所以下面时不被允许的:
 

func(int a=1,int b,int c=3);

这是不连续的,所以不行。

以上就是我们对默认参数的基本介绍。

相关文章:

  • 力扣(两数相加)C语言
  • 力扣(反转二叉树)C语言
  • 力扣-平衡二叉树(C语言)
  • 力扣—对称二叉树(C语言)
  • 牛客网—二叉树遍历(C语言)
  • C++之引用详解
  • c++之模板初阶
  • C++之string源代码详解
  • 电话号码组合(力扣)
  • vim的基本用法
  • 进程的概念(详解)
  • Linux 基础知识详解
  • 命名管道的学习
  • 牛客网之参数解析问题
  • 力扣-找公共祖先问题
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • C# 免费离线人脸识别 2.0 Demo
  • co模块的前端实现
  • C学习-枚举(九)
  • Gradle 5.0 正式版发布
  • JavaScript 一些 DOM 的知识点
  • JavaScript标准库系列——Math对象和Date对象(二)
  • js学习笔记
  • Making An Indicator With Pure CSS
  • Python打包系统简单入门
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue-router 实现分析
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前嗅ForeSpider采集配置界面介绍
  • 深入 Nginx 之配置篇
  • 实现简单的正则表达式引擎
  • 数组大概知多少
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 小程序开发中的那些坑
  • 优化 Vue 项目编译文件大小
  • 转载:[译] 内容加速黑科技趣谈
  • 阿里云重庆大学大数据训练营落地分享
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ###项目技术发展史
  • #14vue3生成表单并跳转到外部地址的方式
  • #QT项目实战(天气预报)
  • (独孤九剑)--文件系统
  • (二)学习JVM —— 垃圾回收机制
  • (分享)自己整理的一些简单awk实用语句
  • (六)vue-router+UI组件库
  • (六)激光线扫描-三维重建
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (算法)Game
  • (转)详解PHP处理密码的几种方式
  • ****Linux下Mysql的安装和配置
  • ***详解账号泄露:全球约1亿用户已泄露