代码改变世界

0--内联函数

2013-11-28 17:01  gongti  阅读(204)  评论(0编辑  收藏  举报
每个成员函数都有自己的声明部分与定义部分
 
声明部分仅仅是说明该函数的参数类型以及返回值类型   void set(int );
定义部分则对函数的功能进行了实现,如
void Print(int w)
{cout<<w<<endl;}
 
如果在类外定义函数,只是在函数名前面加上类名和“::”如
void Human::Print(int w)
{.....}

为什么将函数的声明和定义分开
当我们定义一个函数后,编译器就会在内存中为其创建一个指令集,当我们调用这个函数的时候,程序就会跳转到该指令集处。
当该函数运行完毕后,程序又会返回到原来函数语句的下一行继续执行。
假如对该函数执行了上百次的调用,那么来回的跳转上百次会严重影响程序的效率
 
C++中为了解决这一问题,引入了inline关键字,用来声明函数  inline functions(int w){}
则编译器不会创建真正的函数,而是将内联函数的所有代码复制到调用函数的内部。这样就不需要来回的转跳,从而提高了程序的效率