关于c++的inline关键字

来源:互联网 发布:笑话知乎 编辑:程序博客网 时间:2024/06/17 10:39
C++中支持内联函数,其目的是为了提高函数的执行效率,用关键字inline放在函数定义的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点“内联地”展开,比如下面这个内联函数:
inline int testInline(int a,int b){      return a > b ? a : b;}

如果在程序中调用这个函数max(a,b),则在编译时展开为:a>b?a:b;从而消除了把max写成函数的额外执行的开销。

下面简单介绍下函数的优点与缺点:

优点:

1、程序可读性更好;

2、如果需要修改,修改函数要比找出并修改每一处等价表达式容易很多;

3、使用函数可以确保统一的行为,每个测试都保证以相同的方式实现;

4、函数可以重用,不必为其他应用程序重写代码。

缺点:

调用函数比求解等价表达式要慢很多,在大多数的机器上,调用函数都要做很多工作,调用前要保存寄存器,并在返回时修复,复制实参,程序还必须转向一个新位置执行。

0 0