内联函数@C++

 关键字 inline  声明一个内联函数

内联函数的作用是大致可以理解为  使用函数体内的语句去替换函数调用表达式

为什么这么做

有的函数执行很简单 而调用返回花费的时间比运行该函数的时间还要多,因此使用内联函数省去调用返回的开销

定义内联函数 一定要求该函数比较简单具体要求是

  1.内联函数体内不能有循环和switch

  2.定义出现在被调用之前

  3.不能进行异常接口声明(暂时不知道这个概念没关系,以后会学到)

 

另外 inline是一个对编译器的建议 并非所有带inline的函数编译器都把它当作inline,编译器会根据具体情况做出选择

而对于一些比较简单的函数,编译器可能自动的把它作为inline

 1 #include<iostream>
 2 using namespace std;
 3 const double PI = 3.1415926;
 4 
 5 inline double calArea(double radius)
 6 {
 7     return PI * radius*radius;
 8 }
 9 
10 int main()
11 {
12     double r = 3.0;
13     double area = calArea(r);
14     cout << area << endl;
15     return 0;
16 }

以上定义了一个内联函数

然后编译器并不会去调用它,用到它的时候,编译器采用某种方法,把它以某种方式放在主函数中(类似于辅助粘黏),直接使用,避免了调用与返回所花去的时间

用内联函数 既可以有函数的模块化 使用时直接用即可,不用重新定义,又可以拥有速度,不需要调用与返回

posted on 2018-03-01 22:01  晴未  阅读(190)  评论(0编辑  收藏  举报