1.默认参数的意思就是  予以形参默认值

2. C++允许函数设置默认参数,在调用时可以根据情况省略实参。规则如下:

默认参数只能按照右到左的顺序

如果函数同时有声明、实现,默认参数只能放在函数声明中

因为函数调用一般是放在main的前面

如果放在main后面的的话

这时需要在函数的最前面发出声明,默认参数只能放在函数声明中

函数的实现啥也不写就是viod sum(int a,int b){

a+b}

默认参数的值可以是常量、全局符号(全局变量、函数名)

全局变量如下r图:

3.默认参数只能按照右到左的顺序,,这个的意思就是以

viod sum(int a=5,int b){}

main{

sum(10)

}

以调用sum(10) 为判断对象,这样a=10,b???故不可信

所以总结出的意思就是以右边开始默认参数赋值,且不能空一个参数(int  a=1,int b, int c=2)也是不行的

4.默认参数的值可以是常量、全局符号(全局变量、函数名)

调用时:func(10,test)

不过必须通过指向函数  的指针   viod(*p)(int)=test {

p(v1)

}

p(v1)=test(v1)

5.

如果函数的实参经常是同一个值,
可以考虑使用默认参数

6.c语言没有默认参数

7.函数重载、默认参数可能会产生冲突、二义性(建议优先选择使用默认参数)

8.

接上上一集疑问,右击,显示代码字节,,,就会显示出机器码,俩个机器码代表一个字节

9.接上一集不能进入到反汇编里面  就上面图上,不能够到更加内部,不是的display(1,2)

那么就是看左边断点的箭头

当断点push 1

push 2

之后到了  call   display()时 按F11  才可以进入更加内部

10.

viod sum(int a,int b=4){a+b}

main{

sum(1)

sum(1.4)}

sum(1)

sum(1.4)等同的

都是push 1

push 4

11.

12.

快速比对工具

c++ 的学习 第3集-默认参数的更多相关文章

  1. C++函数重载遇到了函数默认参数情况

    一.C++中的函数重载 什么是函数重载? 我的理解是: (1)用一个函数名定义不同的函数: (2)函数名和不同参数搭配时函数会有不同的含义: 举例说明: #include <stdio.h> ...

  2. [python 函数学习篇]默认参数

    python函数: 默认参数: retries= 这种形式 def ask_ok(prompt, retries=, complaint='Yes or no, please!'): while Tr ...

  3. C#深入学习笔记 - 可空类型与构造函数默认参数

    在实际开发中或许可能会遇到某个属性需要提供一个默认参数,如果该参数是引用类型的话,可以通过 使用 null 来表示未知的值,但如果是int或 其他值类型的话就有点不好办了,因为如果需要一个int或fl ...

  4. C++中函数的默认参数和C语言中volatile的学习

    1.函数默认参数 1 int func(int a,int b=10) 2 { 3 return a*b; 4 } 5 6 int main() 7 { 8 int c=func(2); 9 cout ...

  5. 我的c++学习(6)默认参数和内联函数

    默认参数 一般情况下,函数调用时实参个数应与形参相同,但为了更方便地使用函数,C++也允许定义具有默认参数的函数,这种函数调用时实参个数可以与形参不相同.“默认参数”指在定义或声明函数时为形参指定默认 ...

  6. 2017寒假零基础学习Python系列之函数之 定义默认参数

    在定义函数时,可以有默认参数例如Python自带的函数int(),其实就是两个参数,我们既可以传一个参数,又可以传两个参数 int(') >>>123 int(',8) 83 int ...

  7. day10 python学习 函数的嵌套命名空间作用域 三元运算 位置参数 默认参数 动态参数

    1.三元运算 #1.三元运算 利用已下方法就可以实现一步运算返回a b中大的值 def my_max(a,b): c=0 a=int(input('请输入')) b=int(input('请输入')) ...

  8. QT学习笔记7:C++函数默认参数

    C++中允许为函数提供默认参数,又名缺省参数. 使用默认参数时的注意事项: ① 有函数声明(原型)时,默认参数可以放在函数声明或者定义中,但只能放在二者之一.建议放在函数声明中. double sqr ...

  9. php学习笔记-默认参数

    在定义函数的时候,我们可以把其中的一个参数变的特殊起来,使它有一个默认值,这个参数就叫默认参数.在调用这个函数的时候,你既可以给这个默认参数传递一个值,这样的话默认参数的值会被覆盖掉,也可以不给它传递 ...

随机推荐

  1. COM笔记-包容与聚合

    COM不支持实现继承的原因在于这种继承方式将使得一个对象的实现同另外一个对象的实现紧紧地关联起来.在这种情况下,当基类的实现被修改后,派生类将无法正常运行而必须被修改.这就是为什么一些用C++编写大型 ...

  2. C#多线程---I/O线程实现异步请求

    一.场景 利用I/O线程来模拟浏览器对服务器请求的异步操作. 二.例子 1 using System; 2 using System.Collections.Generic; 3 using Syst ...

  3. 【java虚拟机】分代垃圾回收策略的基础概念

    作者:平凡希 原文地址:https://www.cnblogs.com/xiaoxi/p/6602166.html 一.为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一 ...

  4. Spring中Resource(资源)的获取

    1.通过Resource接口获取资源 Resource接口的实现类有: Resource接口继承了InputStreamSource 接口,InputStreamSource 接口中有一个方法:get ...

  5. Cookie在哪里看

    更多java学习请进: https://zhangjzm.gitee.io/self_study

  6. You have mail in /var/mail/xxx

    因为配置 DDNS, 我添加了个 crontab 定时任务,每隔 1 分钟执行一段 python 脚本 然后就发现 terminal 经常提示 'You have mail in /var/mail/ ...

  7. openresty lua_ssl_trusted_certificate 问题

    lua_ssl_trusted_certificate 语法: lua_ssl_trusted_certificate 默认: no 环境: http, server, location 指定一个 P ...

  8. idea字节码插件JClassLib——阅读JVM字节码

    idea字节码插件JClassLib--阅读JVM字节码 生成字节码文件并查看 查看字节码文件的方式:javac 文件名.java 即可生成.class文件,但是这种方式不方便 java:是运行字节码 ...

  9. 云原生学习筑基 ~ 组网必备知识点 ~ DNS服务

    @ 目录 一.为啥写这篇文章? 二.DNS的作用 三.域 四.DNS工作原理 五.搭建DNS服务器 5.1.Bind 5.2.系统环境准备 5.3.安装 5.4.查看bind的相关文件 5.5.查看b ...

  10. Kafka内外网访问

    本文介绍了Kafka内外网访问的设置. kafka的两个配置listeners和advertised.listeners listeners kafka监听的网卡的ip,假设你机器上有两张网卡,内网1 ...