内联函数——用inline声明的函数是内联函数。
1.为什么使用内联函数?
——在程序中,某个函数被频繁的调用,程序在运行过程中,就需要频繁的跳转至改函数去执行调用,当这种跳转达到成百上千次的时候,会严重影响到程序的执行效率。
2.内联函数的具体运用
C++中,为了解决这一问题,使用关键字inline声明函数,如:
inline int func();
那么编译器不会创建真正的函数,而是将这个内联函数的所有代码复制到调用函数中,这样程序执行过程中,就不需要来回跳转,从而提高了程序运行的效率。
注意:内联函数只有在函数需要被频繁调用而且代码比较简单的情况下才可以使用。
3.成员函数定义与声明的分离及合并
类中的成员函数,通常情况下,我们是将定义和声明分开:
class A { public: inline void func(int ,int); //成员函数func()是内联函数 inline void print(); //成员函数print()是内联函数 private: int i; int j; }; void A::func(int x,int y) { i=x; j=y; } void A::print() { std::cout<<"the point is"<<"("<<i<<","<<j<<")\n"; }
这样成员函数func()和print()都是内联函数。
而当我们把成员函数的定义和声明合并时:
class A { public: void func(int x,int y){i=x;j=y} //成员函数func()是内联函数 void print(){std::cout<<"the point is"<<"("<<i<<","<<j<<")\n";} //成员函数print()是内联函数 private: int i; int j; };
此时定义和声明合并状况下,成员函数func()和print()也默认为内联函数!
——《零起点学通C++》