mirror of
https://github.com/zh-google-styleguide/zh-google-styleguide.git
synced 2025-02-19 20:50:10 +08:00
headers.rst: 重排章节「1.4. 内联函数」
在中文段落和代码块插入空行,以免前者在 GitHub 上被渲染成斜体。
This commit is contained in:
parent
85f1e3aa34
commit
eb648bc456
@ -78,18 +78,23 @@ As an exception, a function template that is explicitly instantiated for all rel
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. tip::
|
||||
|
||||
只有当函数只有 10 行甚至更少时才将其定义为内联函数.
|
||||
|
||||
定义:
|
||||
|
||||
当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用.
|
||||
|
||||
优点:
|
||||
|
||||
当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联.
|
||||
|
||||
缺点:
|
||||
|
||||
滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数通常会减少代码大小, 但内联一个相当大的函数将戏剧性的增加代码大小. 现代处理器由于更好的利用了指令缓存, 小巧的代码往往执行更快。
|
||||
|
||||
结论:
|
||||
|
||||
一个较为合理的经验准则是, 不要内联超过 10 行的函数. 谨慎对待析构函数, 析构函数往往比其表面看起来要更长, 因为有隐含的成员和基类析构函数被调用!
|
||||
|
||||
另一个实用的经验准则: 内联那些包含循环或 ``switch`` 语句的函数常常是得不偿失 (除非在大多数情况下, 这些循环或 ``switch`` 语句从不被执行).
|
||||
|
Loading…
Reference in New Issue
Block a user