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
相关推荐
会周易的程序员10 小时前
aiDgePLC — IEC61131-3 ST PLC 虚拟机调试与运行环境
c++·物联网·虚拟机·st·工业协议·iec61131·梯形图
wuminyu12 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
gumichef12 小时前
第二章:C/C++内存管理
c++·内存管理
小龙报15 小时前
【优选算法】1.搜索插入位置 2.x的平方根
java·c语言·数据结构·c++·python·算法·蓝桥杯
A_humble_scholar15 小时前
Linux(二) C++ TCP/UDP网络编程
linux·网络·c++
SNAKEpc1213817 小时前
OpenGL(十五)- 着色器语言GLSL
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
欧特克_Glodon17 小时前
OpenCV计算机视觉开发入门与实践<六>:OpenCV架构模块简介
c++·人工智能·opencv·计算机视觉
Rabitebla17 小时前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list
MC皮蛋侠客18 小时前
TDengine C++ 系列(11):性能模型与调优——从测量到优化
c++·php·tdengine
兔兔兔兔119 小时前
记录C++ 3
开发语言·c++