比较成员函数在类里面和外面实现的区别:
在类里面实现的也称为内联函数,内联函数在调用函数处用内联函数体的代码来替换,并不是像一般函数,转去执行被调用的函数体,执行完后再返回调用函数,这样会提高运行速度,内联函数和带参数的宏定义代码效率是一样的,但优于宏定义。
而在类外面实现的函数称为外联函数,其调用过程和普通函数相同,执行效率不如内联函数,按时外联函数可以转变为内联函数,只要在函数前面加上关键字inline就变成内联函数。
成员函数调用需要时间和空间开销,对于较长的函数,这种开销可以忽略不计,但对于函数体代码很短,又被频繁调用的函数,就不能忽视这种开销,引入内联函数正是为了解决这一问题,提高程序的运行效率
不适宜使用内联函数的场合:
(1)如果函数体内的代码比较长,使用内联函数将会导致内存消耗代价较高
(2)如果函数体内出现循环,那么执行函数体内代码的时间要比函数调用的 开销大。