八叶一刀·无仞剑

万物流转,无中生有,有归于无

导航

理解C++的inline函数

Posted on 2016-11-27 10:15  闪之剑圣  阅读(259)  评论(1编辑  收藏  举报

C++的inline函数就是编译器在编译代码时,将“对此函数的每一个调用”都以函数本体替换之,该过程发生在编译期间。

inline函数的优点是,它可以省去函数调用所带来的额外开销,提高程序的速度。缺点也很明显:首先,过分使用inline函数会导致代码膨胀,占用过多内存和硬盘空间;其次,在升级inline函数时,需要所有引用它的模块都要重新编译。

正因为如此,inline常用于小型的、被频繁调用的函数身上。

另外需要强调的一点是,千万不要将构造或析构函数inline。原因是,这种函数往往看起来是空的,而实际上在编译期间会生成很多代码,如果将它们inline了,很容易就会导致代码膨胀。