c++ 内联函数详解-用空间换速度
inline是一个关键字,可以用于定义内联函数。内联函数可以像普通函数一样被调用,但是是在调用点直接展开而不是通过函数调用机制调用。可以大大减少由函数调用带来的开销,从而提高程序的运行效率。
如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。
对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数。
因此,事实就是我们利用空间代价换取了时间上的效率。因此,内联函数应该是比较短小的函数,一般只有几行。