zoukankan      html  css  js  c++  java
  • 内联函数

    内联函数:

    一般来说,当我们定义了一个函数之后,编译器就会在内存中为其创建一个指令集,当我们调用该函数的时候,程序就会跳转到该函数处。当该函数运行完毕后,程序又返回到原来执行调用该函数的下一行继续执行。加入对该函数执行了上百次的调用,那么就要来回跳转上百次,很明显这是相当影响程序执行效率的。

    对此C++有一种解决的方式,即使用关键字inline来声明函数。编译器将不会生成真正的函数,而只是将这个内联函数的所有代码拷贝到调用函数中去,这样程序在执行调用该函数的时候就不需要来回跳转,自然就会提高了程序的运行效率。但是任何的事情都会有两面性,使用内联函数在提高效率的同时,也会付出一些代价,比如说程序调用了内联函数100次,那么就会将该内联函数中的代码复制100次,这样无形中就会增大程序的体积。当然我们也有种折中的选择,假如内联函数的体积很小,因此即使我们复制很多次也不会增加太大的代码体积,因此在这种情况下,我们使用内联函数还是相当的划算的。

    因此:当函数提交较小,但是又频繁调用的情况下,建议我们使用内联函数,反之则不建议使用内联函数。

    THE END!

    2012年12月13日

  • 相关阅读:
    html优化
    HTML练习(网页计算器)
    hdu--4574 Bombs(dfs)
    Robots at Warehouse(搜索+vector的使用)
    poj 2111 Millenium Leapcow(记忆化搜索)
    Codeforces Round #408 (Div. 2) C. Bank Hacking(暴力啊!暴力)
    Gym
    Gym
    浙江省赛--D
    浙江省赛--C
  • 原文地址:https://www.cnblogs.com/xingchen/p/2816455.html
Copyright © 2011-2022 走看看