C++ inline关键字总结

  1. inline只是对编译器的建议,编译器不一定采纳
  2. inline会省去函数调用的开销,同时还可以帮助编译器优化代码
  3. inline会造成代码膨胀,消耗内存
  4. template和inline是两个概念,彼此互不影响,在template函数加inline的话,就是具现出来的每个函数都是inline的
  5. 在类的成员函数声明里直接定义函数的话,会隐式inline
  6. inline会使virtual函数落空,因为virtual意味着执行后决定调用,而inline表示执行前替换
  7. 构造函数和析构函数不要inline,因为这两个函数看起来平平无奇,实际上默认做了很多工作
  8. 库开发者需评估inline的冲击,因为inline函数改变意味着客户端得重新编译,而如果不是inline函数,则客户端可以一声不响的替换新版本库
  9. inline对调试不友好,除非开启Debug编译选项,这会让该程序禁止发生inline
  10. 短小的,无聊的,简单的,不会经常修改的函数建议inline
相关推荐
暮色_年华15 小时前
随想 2:对比 linux内核侵入式链表和 STL 非侵入链表
linux·c++·链表
w-w0w-w16 小时前
C++模板参数与特化全解析
开发语言·c++
大锦终17 小时前
递归回溯综合练习
c++·算法·深度优先
晚风吹长发17 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
风之歌曲18 小时前
c++高精度模板
c++·算法·矩阵
crescent_悦18 小时前
C++:Find Coins
c++
嵌入式进阶行者18 小时前
【算法】深度优先搜索实例:华为OD机考双机位A卷- 中庸行者
c++·算法·华为od·深度优先
云深麋鹿19 小时前
C++入门篇
c++
量子炒饭大师19 小时前
【C++入门】零域终端的虚空指针协议——【nullptr】还在为编译器给NULL匹配为int而头疼?nullptr给予你全新的字面量!
开发语言·c++·nullptr
阿豪只会阿巴19 小时前
【多喝热水系列】从零开始的ROS2之旅——Day10 话题的订阅与发布1:Python
开发语言·c++·python·ubuntu·ros2