函数

1 参数传递

  • c
  1. 值传递
  2. 指针传递
  • c++
  1. 值传递
  2. 指针传递
  3. 引用传递
  • 准测
  1. 只是用值 const引用
  2. 会有值的变化 引用
  • 引用与指针的区别
  1. 阅读体验性较差

2 内联函数

用inline 关键词修饰的函数
1 .成员函数称为内联函数
在类中定义的成员函数全部默认为内联函数,可以显性的加上inline标识符,或者不加。在类中声明的成员函数,如何加上了inline,则其为内联函数,如果没加,在类外定义该成员函数时加上了,则该成员函数也为内联函数。
2. 普通函数称为内联函数
在普通函数声明或者定义前加上inline。通过编译时,调用内联函数的地方,将不进行函数调用,而是使用,函数体替换调用处的函数名。类似于宏替换。
这种好处在于,在调用内联函数的时候,不需要进行函数跳转,直接可以下一步进行。
3. 内联函数,对于编译器而言,只是建议式的,编译器可以选择忽略。

2.1 内联函数与宏定义区别

  1. 宏定义:预处理阶段:进行代码替换,没有类型检查
  2. 内联函数:编译阶段插入到吗,有类型检查

3 默认参数

  1. 默认参数定义的顺序式从右至左,如果一个参数设定了默认值时,其右边的参数都要有默认值。
  2. 默认参数调用的时候,遵循参数调用顺序,自左向右逐个调用

3.1 可变参数

4 函数重载

  • 定义
    在同一作用域内,一组具有相同函数名,不同 参数列表的函数。

5 函数模板与泛型

  • 泛型编程:
    以独立于任何特定类型的方式编写代码,使用泛型程序的时候,我们需要提供具体程序实例所操作的类型或者值。
    泛型编程与面向对象编程一样,都依赖于某种形式的多态性。
    面向对象编程的多态性依赖于具有继承关系的类。只要使用基类的引用或者指针,基类类型或派生类的对象就可以使用相同的代码。

5.1 函数模板

  • 定义:
  • template 后面接 模板参数表
  • 实例 template<tpyename/class T>

5.2 类模板

6.6 函数的递归

  • 定义
    递归是一种重要的程序设计方法,如果在一个函数、过程、或数据结构的定义中又调用了它自身,那么这个函数、过程或数据结构称为是递归定义的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值