C++inline函数

inline函数

前段时间和同事进行一个效率优化,他提到把函数前加上inline,会提高效率,确实在一些情况下会提高效率,但是并不是只要加了inline就会变成inline函数,今天在这里总结一下。

定义

编译阶段将inline函数在调用点进行展开处理,不再生成函数符号;

规则

1、inline只有在release版本才生效,debug版本不生效;
2、并不是加上inline就是inline函数,加上inline只是建议编译器将函数转化成内联函数,至于能不能变成内联函数,这得看编译器,简单的函数都可以转成内联函数,但是逻辑复杂的函数比如带递归,各种循环等等,就不能转成内联函数;
3、inline函数和普通函数相比减少了函数调用堆栈,效率确实会提高;

你可能感兴趣的:(【道阻且长C++】,前端,c++)