内联函数知识点

内联函数知识点

1 内联函数是C++为提高程序运行速度所作的一项改进

    编译器将使用相应的函数代码替换函数调用,嵌入在代码中。对于内联代码,程序无需跳到另一个位置处执行代码,再跳回来。因此内联函数的运行速度比常规函数稍快,但代价是占用更多内存。如果程序在10给地方调用同一个内联函数,则该程序包含十个内联函数副本。

2 有选择得使用内联

   a.如果执行函数代码时间比处理函数调用机制得时间长,则节约得时间将只占整个过程的一小部分。

   b.函数过大不使用内联,有的编译器会不能认识。

3内联函数使用方式

  a.函数声明前加inline关键字

  b.函数定义前加inline关键字

4 内联函数与C语言宏定义的区别

  内联函数用值传递,C语言宏定义是文本传递。

 inline double square(double x){return x * x;}

 #define square (x) x*x

 square(c++),采用define,c将执行两次++操作,而内联则执行一次

x = square(1+2),   define: x = 1+2*2+1;

内联: x = 3*3

原文地址:https://www.cnblogs.com/0523jy/p/9365623.html