C++内联函数
来源:互联网 发布:冰点文库下载器mac版 编辑:程序博客网 时间:2024/06/08 08:13
C++引入内联函数(inline)函数的原因是用它来取代C中的预处理宏函数。
内联函数和宏函数的区别:宏函数是由预处理器对宏进行替换,而内联函数是通过编译器实现的,因此内联函数是真正的函数,只是在调用的时候,内联函数像宏函数一样展开,所以它没有一般函数的参数压栈和退栈操作,减少了调用开销,因此,内联函数比普通函数执行效率更高。
在C++中使用关键字inline来定义内联函数。inline关键字放在函数定义(声明)中函数类型之前。
注:编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有用inline说明。内联函数也有一定的局限性,就是函数中执行的代码不能怠惰,结构也不能太复杂。如果内联函数的函数体过大,编译器会放弃内联方式,而采用普通的方式调用函数。
内联函数示例:
#include<iostream>using namespace std;inline int max(int,int);int main(){ cout<<max(3,5)<<endl;system("pause");return 0;}inline int max(int x,int y){return x>y?x:y;}关键字inline将函数max说明成内联函数。其使用方式和一般函数一样,只不过在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。
0 0
- C语言内联函数
- C++:内联函数
- C 内联函数
- c++-inline 内联函数
- C语言内联函数
- C++_inline内联函数
- 【C++】内联函数,inline
- C++---函数内联
- C 内联函数
- [C++]内联函数
- c/c++内联函数
- C++_内联函数
- c++inline内联函数
- C++:内联函数
- 【C++】内联函数
- C中的内联函数行为
- linux c/c++ 内联函数
- C中的内联函数行为
- maven管理jar包的一些问题小结
- 百度编辑器 单独开发图片上传功能
- Java-多线程
- wordpress 插件 easy video player https://wordpress.org/plugins/easy-video-player/
- IDEA远程调试Hadoop步骤及出错解决整理
- C++内联函数
- C day1 数据类型1
- 性能追踪php站点_使用xhprof + graphviz
- ZOJ1654 Place the Robots
- Java线程:新特征-条件变量
- Kubernetes系列02:Kubernetes配置及参数说明
- (ssl1115)USACO 2.3 货币系统(背包/生成函数)(背包的方案总数)
- 军用软件国家标准
- A + B Problem