别怕Linux编程

Google C++编程规范 – 第二十条 -《内联函数》

本原创文章属于《Linux大棚》博客。

博客地址为http://roclinux.cn

文章作者为roc wu

==

【规范】

只有10行以内的小函数,才适合定义为内联函数。

【什么是内联函数】

内联函数,在使用上和普通函数没有任何区别,只是编译器在进行编译时会将内联函数在被调用的位置直接展开,而不是像普通函数那样的调用机制。

【内联函数的好处】

内联函数可以产生更高的运行效率,因为它节省了普通函数调用时的开销。

【内联函数的缺点】

滥用内联函数,反而会使性能下降。一个短小的内联函数会使得编译后的对象变小,而一个冗长的内联函数会使得编译后的对象变得非常之大,从而使得程序运行起来后代码区会占用更大的内存。

【结论】

一个比较合理的规则是,超过10行代码的函数不要设置成内联函数。

对于析构函数和构造函数,也要格外小心,因为它们会做一些你看不到的动作,所以不建议设置成内联函数。

另一个规则是,对于具有循环逻辑或switch逻辑的函数,也不建议设置成内联函数。

需要你知道的一点是,即使你将某个函数设置为内联函数,它也并非一定就是内联的,比如虚函数或递归函数。

谢谢!

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *