内联函数(Inline Functions)

     影响性能的一个重要因素是内联技巧。内联函数也可称为内嵌函数。

      在C++中,函数调用需要建立栈环境,进行参数复制,保护调用现场,返回时,还要进行返回值复制,恢复调用现场。这些工作都是与完成特定任务的操作无关的额外开销。程序效率由于该项工作而受到影响。

     可以将函数声明为内联函数。对函数的内联声明必须在调用之前。因为内联函数的代码在程序运行时是直接嵌在调用执行处,它不影响链接,只在编译时确定运行代码。因此编译时,在调用之前看到内联函数声明就十分重要。

     内联函数体应该尽可能小,且结构要简单,不能含有复杂的控制语句如switch和while.

     内联函数使用的场合一般为:

    (1)函数体适当小,这样就使嵌入工作容易进行,不会破坏原调用主体。

    (2)程序中特别是在循环中反复执行该函数,这样就使嵌入的效率相对较高。

    (3)程序并不多处出现该函数调用,这样就使嵌入工作量相对较少,代码量也不会剧增。

posted on 2015-05-10 11:04  Curnane  阅读(149)  评论(0编辑  收藏  举报

导航