当前位置:   article > 正文

内联函数与普通函数、成员函数与静态函数的区别(知识整理)_普通函数成员函数调用区别

普通函数成员函数调用区别

                                                            内联函数与普通函数的区别

       普通函数在编译的过程中由编译器将函数体放入代码段,在调用函数过程中先进行参数的压栈,然后根据函数的调用地址调用函数,并执行,函数返回后执行出栈操作,这样就会有一个调用的过程,会有时间的消耗。内联函数可以避免这样的消耗,一个函数申明为内联函数,在编译的过程中,编译器会将函数体代码插入函数调用处,这样虽然会增加代码段的空间,但是可以避免时间上的消耗,提高了效率。

 

                                                       成员函数与静态函数的区别

    1、所有函数代码都在程序编译连接时放在一块,称为代码区,无论是静态还是非静态函数都一样,不存在 "构造一个类的对象(第一次构造对象)时,就会给成员函数(非静态成员函数)分配代码区空间 ",而是程序加载时,所有的代码已在内存空间存在.   只有函数中用到的局部变量才是函数调用时分配空间.
    2、静态成员函数和成员函数之间根本的区别是:静态成员函数实际上是一个全局函数,不依赖一个类的对象.函数定义时之所以把静态成员函数定义在类中,是一种弱逻辑.     普通成员函数依赖一个类的对象,也就是它有this指针,必须指向一个类的对象.

    3、建立类的对象时只是给成员变量分配空间,析构时也只回收这些空间,代码段里的函数以及静态函数和变量都是在程序结束后回收。

以上都是我参照网上的观点,做的一点个人的整理,有不足之处会随时改进!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/626848
推荐阅读
相关标签
  

闽ICP备14008679号