在定义函数时,可以为参数设置一个默认值,这样调用函数时,就可以省略一些参数,此时程序使用默认参数作为实际参数。
我们可以赋予函数参数默认值。所谓默认值就是在调用时,可以不写某些参数的值,编译器会自动把默认值传递给调用语句中。默认值可以在声明或定义中设置。
参数默认值只能在声明或定义中一处指定.不能同时指定.

1.若在定义时而不是在声明时置默认值,那么函数定义一定要在函数的调用之前。因为声明时已经给编译器一个该函数的向导,所以只在定义时设默认值时,编译器只有检查到定义时才知道函数使用了默认值。若先调用后定义,在调用时编译器并不知道哪个参数设了默认值。所以我们通常是将默认值的设置放在声明中而不是定义中。

2.不能将实际值传递给引用类型的参数。可以将变量作引用类型参数的默认值,这时变量必须是已经声明且是全局变量。
声明函数时,要将类或结构中定义 的静态成员变量作为默认值,若该类或结构还未创建实例,那要在此静态成员变量前加上作用域操作符(::)。
若已声明了类或结构的实例,则引用其成员变量作为函数参数的默认值,就要在变量前加上实例名和成员操作符(.)。
3.若给某一参数设置了默认值,那么在参数表中其后所有的参数都必须也设置默认值,否则,由于函数调用时可不列出已设置默认值的参数,编译器无法判断在调用时是否有参数遗漏。
4.在调用时,若给已经设置默认值的参数传递实际值,既要取代默认值,则在参数表中被取代参数的左边所定义的所有参数,无论是否有默认值,都必须传递实际参数。
这也是因为函数调用时可不列出已设置默认值的参数。假若被取代参数的左边既有设置了默认值的参数也有未设置默认值的参数,若不对其左边的所有参数传递实际参数,编译器也就无法分辨传递的这个取代值到底要传递给哪个参数。
.1.默认参数是严格按照从左至右的顺序使用
所以只有如下使用才是合法的

(1)参数全部为默认值. void Fun( int a = 1, int b = 2, int c = 3)

(2)void Fun(int a , int b = 2, int c = 3)

(3)void Fun(int a , int b = 2, int c) //这样是错误的,如果从某处开始使用默认值,则右边所有其他参数也必须有默认值

默认参数的声明

  默认参数在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。如果函数只有定义,则默认参数才可出现在函数定义中。例如:
    void point(int=3,int=4); //声明中给出默认值
    void point(intx,inty) //定义中不允许再给出默认值
    {
     cout <

基础知识—函数-默然参数相关推荐

  1. Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)

    文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...

  2. Clickhouse 基础知识 - 函数

    -------------------------------------------------- ------------------------------------------------- ...

  3. 基础知识—函数-函数参数及返回值

    函数的返回值是指函数在调用后,执行函数体中的程序段所取得并返回给主函数的值,函数的返回值通过return语句返回给主函数 return (表达式): 关于返回值1.函数的返回值类型和函数定义中的函数类 ...

  4. python基础知识~ 函数详解2

    python~函数详解2  1 生成器函数    定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数   须知 yield和return一样,都可以返回数 ...

  5. 1.15 Python基础知识 - 函数

    函数是可重用的程序代码段. 一.函数的声明和调用 声明格式: def 函数名([形参列表]): 函数体 调用格式: 函数名([实参列表]) 函数名:是一种标识符,命名规则为全小写字母,可以使用下划线增 ...

  6. PHP基础知识--函数

    session函数: session_cache_expire 返回当前缓存的到期时间 session_decode 解码会话数据(反序列化方法不同于unserialize(),序列化方法是php内置 ...

  7. 基础知识—函数-函数概述

    函数就是能够实现特定功能的程序模块. 函数的定义 形式 类型标识符 函数名(形式参数表) { 变量的声明: 语句: } 类型标识符,用来标识函数返回值类型,可以根据函数的返回值判断函数的执行情况,通过 ...

  8. JAVA基础知识——方法的参数,特殊数据类型,装箱和拆箱...

    文章目录 一.方法的参数 二.特殊的数据类型 三.装箱和拆箱 三.Object 四.思维导图 一.方法的参数 我们常见的参数有: (1)基本数据类型作为参数 (2)可变参数(三个点-) (3)引用类型 ...

  9. (更新时间)2021年3月21日 python基础知识(函数的返回值)

    1.函数返回值 <1>"返回值"介绍 所谓"返回值",就是程序中函数完成一件事情后,最后给调用者的结果 <2>带有返回值的函数 想要在函 ...

最新文章

  1. 配置基于Devstack的嵌套KVM虚拟化
  2. 多媒体广告的底线在哪里
  3. excel导入数据库的简单方法
  4. 网易易盾李雨珂:服务性能+算法确定性优化,迎接5G时代内容安全爆发式流量增长...
  5. MATLAB实现多元线性回归预测
  6. c语言每次堆的变化是1k,DSPXC语言+程序烧写讲述.ppt
  7. python 埋点_scala spark 埋点统计_spark—1:WordCount(Python与Scala对照)
  8. android hfp分析,Android HFP-转
  9. Linux文件IO操作之IO编程(一)
  10. 软件测试和web前端该怎么选择
  11. 采用LM1875组成的各种功放电路
  12. HelloWord你的第一个rainmeter皮肤
  13. 高等数学第七版总结(同济大学版)
  14. cdr 2021 卸载
  15. 机器学习笔记 - SimSwap 指南:高保真换脸的高效框架
  16. CS229 --Lecture1 Introduction
  17. 【已解决】如何让压缩率达到最大?使用lrzip工具进行文件压缩(好用)
  18. 中金环境携手海通安恒,启动SAP二期项目
  19. 浏览器放大缩小,页面布局不变,浏览器放大百分比,页面放大到左上角,浏览器缩小百分比,页面缩小至中间(类似csdn官网效果)
  20. 20190918爱奇艺2020校招题

热门文章

  1. 数字化转型 数字分析_数字化转型背后的公司领先于开放的领导者
  2. sphinx文档_使用Sphinx构建自定义文档工作流
  3. 蓬勃发展的社区将帮助您的项目成功的6种方式
  4. 开源示波器项目_开源电子项目:示波器
  5. 医生们团结一致,以增加对优质健康信息的访问
  6. (22)Vue.js 综合案例:TodoMVC
  7. (17)Node.js第三方模块
  8. ES6/02/创建对象,构造函数和原型,原型和原型链,this指向,类,ES5新增的方法,数组方法,回调函数,ES5新增的字符串方法,ES5中新增的对象方法
  9. 必知必会 | 关于Redis缓存这三大问题,必知必会
  10. Bootstrap 固定导航条