• 将被调函数体的代码直接插到调用处

      • 普通的函数调用

        1. ![批注 2020-08-09 101549.png](https://cdn.nlark.com/yuque/0/2020/png/2314091/1596940707809-76aee2be-a78c-4fa8-bbda-4ecc96cbedb8.png#align=left&display=inline&height=171&margin=%5Bobject%20Object%5D&name=%E6%89%B9%E6%B3%A8%202020-08-09%20101549.png&originHeight=228&originWidth=462&size=35585&status=done&style=none&width=347)
      • 内联函数的调用

        1. ![批注 2020-08-09 101549.png](https://cdn.nlark.com/yuque/0/2020/png/2314091/1596940766823-7ae89bb0-100c-40d0-81ea-9741621ff42c.png#align=left&display=inline&height=200&margin=%5Bobject%20Object%5D&name=%E6%89%B9%E6%B3%A8%202020-08-09%20101549.png&originHeight=267&originWidth=453&size=35585&status=done&style=none&width=340)
    • 内联函数的实质是用存储空间来换取时间(减少执行时间)。

    • 定义方法: 在函数定义时,在函数的类型前增加修饰词inline。

      1. inline int max (int x, int y)
      2. {
      3. int z;
      4. z=(x>y)? x : y ;
      5. return z;
      6. }
      7. void main (void )
      8. {
      9. int a,b,c;
      10. cin>>a>>b;
      11. c=max (a+b , a*b) ;
      12. cout<<“The max is”<<c<<endl;
      13. }
    • 使用内联函数时应注意:

      • 除在函数体内含有循环,switch分支和复杂嵌套的if语句外,所有的函数均可定义为内联函数。
      • 内联函数也要定义在前,调用在后。
      • 对于用户指定的内联函数,编译器是否作为内联函数来处理由编译器自行决定。
      • 当出现多次调用同一内联函数时,出现本身占用的空间将增加。如内联函数仅调用一次时,并不增加程序占用的存储空间。