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
相关推荐
小欣加油1 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展
星恒随风2 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
浪客灿心3 小时前
项目篇:模块设计与实现
数据库·c++
牛油果子哥q3 小时前
【C++ STL vector】C++ STL vector 终极精讲:动态数组底层原理、两倍扩容机制、迭代器失效、增删查改、性能剖析与工程避坑指南
开发语言·c++
为何创造硅基生物5 小时前
独占指针的创建std::make_unique 本身自带堆出现
c++
kyle~5 小时前
ROS 2 与 Isaac Sim 联合仿真(一)体系架构、环境选型与基础通信闭环
c++·机器人·nvidia·仿真·ros2
努力努力再努力wz5 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
八解毒剂6 小时前
数据结构-平衡二叉树——对二叉搜索树的优化
数据结构·c++·算法
起床困难户5756 小时前
条款20:协助完成返回值优化
c++
啦啦啦啦啦zzzz6 小时前
算法总结(二分查找、双指针)
c++·算法