当前位置:   article > 正文

基础知识-内联函数_inline 放在h文件

inline 放在h文件

内联函数
当内联函数收到编译器的指示时,即可发生内联:编译器将使用函数的定义体来替代函数调用语句,这种替代行为发生在编译阶段而非程序运行阶段。

把函数代码迁入调入的地方,但是保持函数的独立性,为了提高效率

编译器在编译文件时,同一时间只能看见一个代码
inline函数定义就是声明,必须放在.h文件
以空间换时间

如果函数是递归的或者是很复杂的,编译器可能不内联
如果在class中的函数直接定义,则这里面的函数都被作为内联函数使用
C++ inline函数是一种“用于实现的关键字”,而不是一种“用于声明的关键字”。

#include <iostream>
using namespace std;
inline int f(int a)
{
    return a * a;
}
int main()
{
    int a = 4;
    int b = f(a);
    cout << b << endl;
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

关键字 inline 必须与函数定义体放在一起才能使函数成为内联,仅将 inline 放在函数声明前面不起任何作用。
如下的函数 Foo 不能成为内联函数:

inline void Foo(int x, int y);   // inline 仅与函数声明放在一起  
void Foo(int x, int y)
{
}
// 而如下的函数 Foo 则成为内联函数:
void Foo(int x, int y);  
inline void Foo(int x, int y)   // inline 与函数定义体放在一起
{
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/626948
推荐阅读
相关标签
  

闽ICP备14008679号