chapter_06

Tags
函数
 
函数基础
返回值类型和参数就不用多说了。主要说一下下面几点
全局对象
声明再函数体外的对象是全局对象,这种对象在程序开始时产生,直到程序结束后销毁。
本地对象
在函数体内部定义,执行结束时,对象被销毁
自动对象
比如传递形参时,形参作为一个我们没有看见的单独变量被自动声明且拷贝为我们所传递的实参的值,在调用结束后,这个自动化对象被自动销毁
本地静态对象
有时,我们需要让一个本地对象在函数体内声明后,直到整个程序结束时再销毁,可以将其声明为静态对象。
参数传递
值传递
  • 普通值传递:将传入的实参值拷贝给自动化对象形参,在形参上进行操作
  • 指针值传递:将指针值进行拷贝并传递,在不同指针上对同一个地址进行操作
引用传递
  • 避免了拷贝,效率更高
  • 在同一个对象上进行操作,可以返回附带信息
const 传递形参和实参
  • 用实参初始化一个形参时,形参的顶层 const 会被忽略,因此下面的初始化是可以正常进行的。
  • 当我们不改变传递来的参数时,尽量使用 const 引用类型,避免让人认为需要对此参数进行改变
  • 由于形参初始化忽略顶层const , 使用 const 也可以扩大能接收的参数类型范围。
数组形参
  • 数组形参禁止拷贝,因此数组名退化为指针,传递指针值
  • 数组的大小对参数传递没有影响,可以看下面的例子。
  • 控制数组边界的三种方法
    • 传递引用数组需要注意符号的优先级
      • 传递多维数组
        main 函数得参数传递
        argc 是命令行执行时候的参数的个数,注意第一个参数是我们的可执行程序的名字
        argv 数组存放我们的参数
         
        可变参数函数的实现方法
        • initializer_list<int> :使用时候传参需要把参数包裹在”{}“中
        • 省略符实现 : 为了方便 c++ 函数使用 c 风格的可变参数的函数接口
        函数的返回值
        返回一个指向数组的指针或者引用
        函数的重载
        使用的特点
        函数参数的默认值
         
        调试的技巧
        inline 和 constexpr 函数
        函数的匹配规则
        函数指针
        共有四种方法,写在下面
        Loading...
        Catalog