从某种角度上讲,inline对程序影响几乎可以当成是一种编译选项(事实上它也可以由编译选项实现)。
13.4.1 什么叫inline函数?inline(小心,不是online),翻译成“内联”或“内嵌”。意指:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。
这样做的好处是省去了调用的过程,加快程序运行速度。(函数的调用过程,由于有前面所说的参数入栈等操作,所以总要多占用一些时间)。
这样做的不好处:由于每当代码调用到内联函数,就需要在调用处直接插入一段该函数的代码,所以程序的体积将增大。
拿生活现象比喻,就像电视坏了,通过电话找修理工来,你会嫌慢,于是干脆在家里养了一个修理工。这样当然是快了,不过,修理工住在你家可就要占地儿了。
(某勤奋好学之大款看到这段教程,沉思片刻,转头对床上的“二奶”说:
“终于明白你和街上‘鸡’的区别了”。