美文网首页
C++中的内联函数

C++中的内联函数

作者: 飘曳的舟 | 来源:发表于2019-01-19 18:21 被阅读0次

    为了解决一些频繁调用的小函数大量消耗栈空间的问题,引入inline关键字 表示为内联函数

    栈空间主要存放的是函数体内的局部变量


    image.png

    上图中,使用内联函数,就可以将dbtest(i) 直接替换为函数内部的代码,避免反复调用

    内联函数必须是简单的函数,不能包含循环 switch 不能包含递归

    声明内联只是一个建议,真正是否内联还是看编译器。
    建议最好将内联函数放在头文件中

    定义在类内的成员函数缺省的具备inline的属性,定义在类外的话需要显性的注明是inline的才可以使用内联函数

    内联函数主要是用来修饰实现的,而不是声明部分。

    内联不能滥用,有两种情况不适合使用内联函数:

    1. 函数过长,使用内联函数会造成代码变长,消耗更多内存。
    2. 函数体包含循环,使得执行函数的时间远高于调用函数的时间。

    一句话:如果内联函数不能够增强性能,则不要使用它

    相关文章

      网友评论

          本文标题:C++中的内联函数

          本文链接:https://www.haomeiwen.com/subject/efszdqtx.html