Jessie-Cheng1 / xuexi

0 stars 0 forks source link

内联函数 #13

Open Jessie-Cheng1 opened 2 years ago

Jessie-Cheng1 commented 2 years ago
  1. 内联(inline)函数的作用: 为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题。内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。
  2. 类内定义的函数自动成为内联函数的候选,但是实际是否是内联函数还要看编译器的意思
  3. 类内声明,但是没有定义的不是inline函数,可以在类外定义,加上 inline
  4. 不是类的,直接定义,加上inline
  5. 慎用inline
  6. 程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。这其实就是个空间代价换时间的节省
  7. 递归虚函数不会被内联

参考: inline函数的总结 C++ 内联函数

Jessie-Cheng1 commented 2 years ago

目的: 为了解决。。。 位置: 类内定义的 类内声明但是没有定义的 不是类的