引入inline:
在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。
栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。
在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题
缺点:
(1)内联是以代码膨胀复制为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。
(2)内联函数内部尽量不要有循环之类的,这样导致效率会降低,一般只用在简单函数上
类中:
定义在类中的成员函数默认都是内联的,如果在类定义时就在类内给出函数定义,那当然最好。如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。
将成员函数的定义体放在类声明之中虽然能带来书写上的方便,但不是一种良好的编程风格。
另:构造函数和析构函数虽然看着简单,但是仍然最好不要写成内敛函数,因为构造函数和析构函数可能会隐藏一些行为,如"偷偷地"执行了基类或成员对象的构造函数和析构函数。