1 使用形式:

  在函数声明前加上关键词 inline

  在函数定义前加上关键词 inline

  通常做法:省略原型,直接将整个定义放置在本应提供原型的地方。

 

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

2 使用内联函数有何意义

    相较于常规函数调用,内联函数直接占据运行内存,不需要经过调用,这样做的优点是程序运行快,但更耗内存。应考虑代码运行时间,通常代码执行时间短使用内联函数具有较高的速度上的性价比。

3 内联与宏

  C++中内联和C语言中的宏(define)很相似。但两者不同体现在传参上。内联函数传递的是值,而宏传递的是原封不动的参数标签。

  例:使用宏

#define square(x) x*x
             执行sauqre(4.5+7.5); 则实际上是 4.5+7.5*4.5+7.5
             而使用内联:inline double square(double x) {return x*x;}
    执行sauqre(4.5+7.5); 则实际上是 (4.5+7.5)*(4.5+7.5)

   综上所述,大多数情况下,考虑使用内联函数往往比宏更好。