关于inline的用法
2015-07-13 09:10
218 查看
C++中引入了关键字inline,我们称之为内联函数;
内联函数的作用体现在对于频繁调用的小函数上,太长代码的函数显然不适合声明为内联函数,这无疑会加大内存的消耗。
eg:
inline 函数表面上看到没什么特表,其实编译器在处理isValueValid()函数的时候是用( return value > 0 ? true : false;) 这部分代码替换的,这样就避免了将整个函数塞到栈,减少对栈内存的消耗。
内联函数的作用体现在对于频繁调用的小函数上,太长代码的函数显然不适合声明为内联函数,这无疑会加大内存的消耗。
eg:
#include <stdio.h> //define inline inline bool isValueValid(int value) { return value > 0 ? true : false; } int main() { int i = 0; int[20] = getValue(); for(int i = 0; i < 20; i ++){ bool result = isValueValid(int[i]); if(result){ save(int[i]); } } }
inline 函数表面上看到没什么特表,其实编译器在处理isValueValid()函数的时候是用( return value > 0 ? true : false;) 这部分代码替换的,这样就避免了将整个函数塞到栈,减少对栈内存的消耗。
相关文章推荐
- Android 事件处理全面剖析
- POJ 3252 Round Numbers(数论)
- unity动画系统是怎么用的?
- Visual Studio中一个解决方案设置多个启动项目
- 细说JavaScript数据类型及转换
- 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
- Verbose Logging Will Disturb Your Sleep
- java获取日期之间的差异
- [转载]机器学习中常用的矩阵求导公式
- 正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等
- Use the Right Algorithm and Data Structure
- Android模仿微信语音聊天功能
- java 读取配置文件
- QWidget: Cannot create a QWidget when no GUI is being used
- strlen和sizeof的区别
- 自定义uitableviewcell,层层封装
- 英特尔® 处理器显卡
- 使用parsename函数快速分割字符串
- AM335x(TQ335x)学习笔记——u-boot-2014.10移植
- 关于欧拉角与万向锁的理解