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. Git在IDEA中的日常使用

    1.Git介绍Git对于做开发的小伙伴并不陌生,Git是现在比较流行的版本控制工具.Git的仓库分为本地仓库和远程仓库,当代码开发完成后,先提交(commit)到本地仓库,再推送(push)到远程仓库 ...

  2. Qt foreach关键字用法(无师自通)

    Qt 提供一个关键字 foreach (实际是 <QtGlobal> 里定义的一个宏)用于方便地访问容器里所有数据项. foreach 关键字用于遍历容路中所有的项,使用 foreach ...

  3. SpringBoot中的thymeleaf引擎报错

    关于:thymeleaf报错: An error happened during template parsing (template: "class path resource [temp ...

  4. java基本数据类型和包装类之间的转换(装箱,拆箱)

    1.装箱:把基本数据类型转换成包装类 1.1自动装箱 int t1=2; Integer t2 =t1; 1.2手动装箱 Integer t3 = new Integer(t1); 2.拆箱:把包装类 ...

  5. jQuery中ajax请求的六种方法(三、六):load()方法

    6.load()方法 load的html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  6. Servlet常见问题

    时间:2016-12-6 23:18 java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMapcommo ...

  7. Vue初体验(一)

    每个 Vue 应用都需要通过实例化 Vue 来实现. 语法格式如下: var vm = new Vue({ // 选项 }) 接下来让我们通过实例来看下 Vue 构造器中需要哪些内容: 可以看到在 V ...

  8. Kickstart部署之NFS架构

    原文转自:https://www.cnblogs.com/itzgr/p/10200615.html作者:木二 目录 一 准备 1.1 完整架构:Kickstart+DHCP+NFS+TFTP+PXE ...

  9. 1.3w字,一文详解死锁!

    死锁(Dead Lock)指的是两个或两个以上的运算单元(进程.线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁. 1.死锁演示 死锁的形成分为两个方面,一个是使用 ...

  10. Excel 列名转int索引(C#版)

    /// <summary> /// 获取Excel实际列索引 /// </summary> /// <param name="columnName"& ...