C++ 的函数中,什么时候要写inline
来源:互联网 发布:最好吃的方便面 知乎 编辑:程序博客网 时间:2024/05/17 01:02
这涉及一个效率问题。记住,调用函数的开销是很大的,所谓的空间开销是指调用函数前,先要将原来的函数保存在寄存器(占用寄存器空间)里面,并在调用结束后恢复。调用函数时,还要复制实参(占用内存空间)。如果被调用函数一旦调用频繁,就会花费很多空间。如果你有一段“短小而频繁调用的函数”,内联是个不错的选择。 “如果含有复杂的分支或循环结构,我使用inline会有什么后果?” 事实上,所谓内联,是编译器将内联函数在函数调用点上展开函数代码。例如 inline int small(int a,int b) { return a < b ? a : b ; } cout << small ( a, b ) << endl ;等同于 cout << (a < b ? a : b) << endl; 编译器会将函数调用语句转换为函数代码,再进行编译。inline只是你给编译器提一个建议,希望它将函数内联,至于它会不会执行就不一定了。 基本上复杂的函数它是不会同意的,就算同意了,也只会使你的编译变得更将浪费时间,而执行速度得不到什么提升。还有,一些编译器是不会通过含有递归的内联函数的。
- C++ 的函数中,什么时候要写inline
- c语言中inline函数
- Android中c++inline函数
- C/C++中宏和内敛函数(inline)的区别
- C/C++中内联(inline)函数的优点和缺点
- 嵌入式C语言编程中Inline函数的应用
- C语言中内联函数的作用 inline
- C函数的 inline用法的收集
- c语言 inline函数的总结
- c语言中的的内联(inline)函数
- c语言中的的内联(inline)函数
- c语言 inline函数的总结
- C语言inline函数的使用方法
- C语言inline函数的使用方法
- c语言中的的内联(inline)函数
- C语言的Static Inline函数
- c语言 inline函数的总结
- c语言中的的内联(inline)函数
- C++的头文件和实现文件分别写什么
- Android:音乐播放器的实现
- java中jdk与jre
- LNK2019: 无法解析的外部符号 ___glutInitWithExit@12
- AxWindowsMediaPlayer的用法详细
- C++ 的函数中,什么时候要写inline
- 腾讯实习笔试题--简单计算器程序的c语言实现
- visual studio 2010 ..\vc\bin\rcdll.dll 无法找到资源编译器DLL
- 续谈登录相关数据的安全加密策略——密码泄露事件杂谈之二
- Apad Qzone项目总结(一)---发布!!!
- Apad Qzone项目总结(二)---换肤功能实现!!!
- 简单说说PHP优化
- Dijkstra算法
- Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!