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

    内联函数:

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

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

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

    THE END!

    2012年12月13日

  • 相关阅读:
    window下上传文件至linux(windows下如何访问linux)
    32位除法器的verilog语言实现
    socket编程——TCP数据传输的可靠与稳定性
    socket编程——TCP连接与断开
    C踩坑纪实——(一)
    CMAKE工具学习
    排序算法优化思考
    MQTT抓包分析
    C结构体与链表
    第二次作业
  • 原文地址:https://www.cnblogs.com/xingchen/p/2816455.html
Copyright © 2011-2022 走看看