c++之inline总结

1. 如何定义:

  • 用于实现的关键字:
    在函数定义时省略,在函数实现时用inline修饰。

2. 编译器如何实现:

  • 把函数体复制到inline函数被调用处。
  • 为其分配内存空间保存局部变量。
  • 把linline函数的输入参数和返回值映射到调用它的函数中。
  • 设置inline函数的返回点。

3. 分析:

  • 动机:
    函数调用会产生开销,因此当所调用函数比较短小时,不如直接运行函数中的代码,而不分配新的栈帧。

  • 优劣:

    • 优: 节省函数调用的开销。
    • 劣:inline函数出现的每个地方都要复制函数体,使代码变长,可能造成内存空间吃紧。
  • 适用场景:

    • 代码短小(缓解代码膨胀问题),执行时间比函数调用开销小(收益大)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章