内联函数 讲解

概念:

inline 修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方将函数在这展开,没有函数调用建立栈帧的开销,内联函数可以提升程序运行的效率

特性:
  • 是一种以空间换时间的做法,缺陷:可能会使目标文件变大,优势:减少了函数调用的开销
  • 作用和宏很像,将内联函数直接在调用的地方直接展开(代码直接替换过去)
  • 这是一种建议性的优化,只在 release 下会呈现出来,且实际接不接受看编译器的实现机制,一般只会采纳函数规模较小的内联函数,我们一般也只在不是递归、且频繁调用的函数上用 inline 修饰
  • inline 声明和定义不能分开,会导致连接错误,因为 inline 被展开,就没有函数地址了,链接就会找不到
其他:

相关推荐

  1. Kotlin 函数

    2024-04-28 19:12:04       37 阅读
  2. C++函数

    2024-04-28 19:12:04       18 阅读
  3. 【C++基础】函数

    2024-04-28 19:12:04       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-28 19:12:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-28 19:12:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-28 19:12:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-28 19:12:04       20 阅读

热门阅读

  1. windows创建自启服务

    2024-04-28 19:12:04       13 阅读
  2. windows远程访问树莓派ubuntu22.04 桌面 - NoMachine

    2024-04-28 19:12:04       10 阅读
  3. 微信小程序详解

    2024-04-28 19:12:04       10 阅读
  4. MATLAB初学者入门(12)—— 模拟退火算法

    2024-04-28 19:12:04       11 阅读
  5. pytorch多卡分布式训练卡住的问题

    2024-04-28 19:12:04       14 阅读
  6. golang面试题:怎么避免内存逃逸?

    2024-04-28 19:12:04       10 阅读
  7. 使用minikube搭建本地k8s练习环境

    2024-04-28 19:12:04       13 阅读
  8. Threejs使用CSS2DRenderer后OrbitControls控制器不能用了

    2024-04-28 19:12:04       12 阅读