;
即使函数被内联 , 也不能保证 程序的性能 一定会提高 ;
2、C++ 编译器的内联优化
简单且频繁调用的函数 内联大概率成功 , 复杂的函数 大概率内联失败 , 内联成功可能会增加代码的大小 ,...也可能会导致程序运行速度变慢 ;
可以通过设置调整 C++ 编译器 的参数 和 优化级别 , 优化编译后的程序运行效果 ;
3、内联优化细节
即使没有使用inline关键字修饰的函数 , C++编译器...+ 编译器内联限制
1、内联失败的几种情况
内联失败的几种情况 : 如果 内联函数 有如下情况 , 即使使用 inline 关键字声明内联函数 , 也是无效的 ;
函数中存在循环 : 内联函数中 不能存在任何形式的...循环语句 , 如 : for / foreach / while / do while 循环 ;
函数中有很多条件判定 : 内联函数中 不能存在过多的条件判定语句 , 条件判断就意味着有无效的指令 ,...非常浪费空间 ; 一般是不能超过 20 ~ 30 个条件判断语句 , 具体数目可以通过编译器配置 ;
函数体庞大 : 函数体的代码不能太多 , 函数指令太多 , 在调用位置插入的指令就很多 , 会浪费很多代码空间