zoukankan      html  css  js  c++  java
  • Ⅲ 函数

    一、函数调用执行过程

    1.fun(3.14)  //实参在函数里隐式转换为整数3

    2.名字有作用域,对象有生命周期→函数体是一个语块,在这个语块里有新的作用域→在这个作用域里定义的形参&其他的定义都是局部变量,只有在函数执行时才会出现

    3.局部静态对象

    从这条语句执行,一直到程序结束才消失,就算其所在的函数消失了也没关系(厉害呀!)

    4.函数声明

    有名字,没内容,在头文件中声明,在源文件中定义

    5.参数传递

    每次调用函数时,都会重新创建形参,并用传入的实参对其进行初始化

    当形参类型为引用→形参就是实参了;否则,就是把实参的值赋给形参

    使用引用时,尽量使用常引用:引用的使用使形参和实参绑定到了一起,实参就很容易被改变,这不好

    二、内联函数

     

    三、带默认形参的函数

    若调用给出实参,则形参采用实参值,否则调用默认参数值

     

    声明时:不能一半赋值,一半没有

    定义时:声明中有了int a=1,定义时直接使用,不用再定义了;必须从右到左依次定义,最左边可以有不定义的,但使用时就不能直接fun();了

    使用时:中间不能空几个再继续赋值;

    四、函数重载

    1.重载:同一个东西对应不同的操作方式

     2.实现机理:虽然名字是一样的,但后面参数的个数&类型是不一样的,编译器根据那个区分(比C高级~~)

    3.注意

    五、函数模板

    化简化简再化简( ̄︶ ̄*))

     

     1. 如果同时定义重载函数,将优先使用重载函数 ,若不能找到精确匹配,再使用函数模板

    六、系统函数

  • 相关阅读:
    003.Heartbeat MySQL双主复制
    001.常见监控简介
    微服务探索与实践—服务注册与发现
    设计模式之建造者模式
    .NET Core 3.0之深入源码理解Startup的注册及运行
    【译】.NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容
    C#并发编程之异步编程(三)
    设计模式之中介者模式
    设计模式之单例模式
    设计模式之装饰器模式
  • 原文地址:https://www.cnblogs.com/syzyaa/p/12677928.html
Copyright © 2011-2022 走看看