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
相关推荐
web_155342746561 小时前
性能巅峰对决:Rust vs C++ —— 速度、安全与权衡的艺术
c++·算法·rust
9毫米的幻想1 小时前
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
linux·运维·服务器·c语言·c++
Mr.Wang8091 小时前
条款23:宁以non-member、non-friend替换member函数
开发语言·c++
以卿a3 小时前
C++ 模板初阶
开发语言·c++
黑不溜秋的8 小时前
C++ 设计模式 - 策略模式
c++·设计模式·策略模式
Dream it possible!10 小时前
LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)
c++·算法·leetcode
柠石榴10 小时前
【练习】【回溯No.1】力扣 77. 组合
c++·算法·leetcode·回溯
王老师青少年编程10 小时前
【GESP C++八级考试考点详细解读】
数据结构·c++·算法·gesp·csp·信奥赛
澄澈天空12 小时前
C++ MFC添加RichEditControl控件后,程序启动失败
c++·mfc
Lzc77413 小时前
C++初阶——简单实现vector
c++·简单实现vector