函数新特性、内联函数、const详解

函数新特性、内联函数、const详解

函数新特性

函数回顾与后置返回类型

//  1. 前面放 auto,标识函数返回类型放到参数列表之后
//  2. 而放在参数列表之后的返回类型是通过 -> 开始的 
auto func(int a, int b) -> void

内联函数

函数定义前加 incline,这个普通函数就变成了内联函数

  • 引入原因:函数体很小,调用又很频繁 的这种函数,咱们引入 incline(内联函数)
  • incline 影响编译器,在编译阶段对 incline 这种函数进行处理,系统尝试将调用该函数的动作替换为函数本体,通过这种方式来提升性能
  • incline 只是我们开发者对编译器的一个建议,编译器可以尝试去做,也可以不去做,这取决于编译器的诊断功能 (我们无法控制)
  • 内联函数的定义就要放在头文件中,这样需要用到这个内联函数的 .cpp 文件就都能够通过 #include 把这个内联函数的源代码 #include 进来

优缺点:

  • 优:上述
  • 缺:代码膨胀 ==> 函数体越小越好

函数杂合用法

函数返回指针和返回引用的情况

int *myfunc()
{
  int tempValue = 9;
  return &tempValue;  //  不可以,因为函数执行完毕后,tempValue 这段内存被系统回收,你不能够再使用
}

int &myfunc()
{
  int tempValue = 9;
  return tempValue;  //  又是一个巨大隐患
}

没有形参的函数,可以写 void

int func(void)
{
  return 1;
}
posted @ 2024-09-17 23:33  爱新觉罗LQ  阅读(6)  评论(0编辑  收藏  举报