C++中的内联函数

优点:易读易维护

   

缺点:运行时开销大,对于普通函数

  • 函数调用时:参数及部分CPU寄存器的寄存器内容进栈,控制流跳转
  • 函数返回时:返回值及寄存器值出栈,控制流跳转

   

目的:减小性能开销

方法:代码插入到调用处

结果:导致程序变大

   

适用于短函数,不适于多处调用的长函数

   

"inline" 是对编译器的请求,而不是命令。编译器不一定会执行。

   

函数调用的开销:

  • 对小的函数不可忽略
  • 对重量级的函数是可以忽略的

   

大多数编译器并不把带有循环、 递归等或者代码比较多的函数进行内联编译

posted @ 2016-03-28 18:55  钉钉铛铛  阅读(362)  评论(0编辑  收藏  举报