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
相关推荐
若亦_Royi10 分钟前
C++ 的大括号的用法合集
开发语言·c++
ragnwang3 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
lqqjuly6 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
冰红茶兑滴水7 小时前
云备份项目--工具类编写
linux·c++
刘好念7 小时前
[OpenGL]使用 Compute Shader 实现矩阵点乘
c++·计算机图形学·opengl·glsl
酒鬼猿8 小时前
C++进阶(二)--面向对象--继承
java·开发语言·c++
姚先生978 小时前
LeetCode 209. 长度最小的子数组 (C++实现)
c++·算法·leetcode
小王爱吃月亮糖9 小时前
QT开发【常用控件1】-Layouts & Spacers
开发语言·前端·c++·qt·visual studio
aworkholic9 小时前
opencv sdk for java中提示无stiching模块接口的问题
java·c++·opencv·jni·opencv4android·stiching
程序员老冯头9 小时前
第十六章 C++ 字符串
开发语言·c++