美文网首页
内联函数(inline)

内联函数(inline)

作者: ZayAlan | 来源:发表于2017-04-20 16:02 被阅读0次

缘由

程序调用函数时步骤过于繁琐,导致运行效率低下,故引入inline函数。

格式

inline  函数声明或定义语句

对象中inline函数使用

错误例子

//a.h
inline void f(int a, int b);
//a.cpp
inline void f(int a, int b)
{
       return a+b;
}
//main.cpp
#include 'a.h'
int main()
{
       f(10,10);
//报错,此时编译器进入a.h文件后只找到f函数的inline声明,并未找到f函数,无法调用
       return  0;
}

实际使用

应当在a.h中将f函数的body一块放入,即无须在a.cpp中作额外定义(若在a.cpp中依然做定义,则编译时程序会因为重复定义而报错,导致无法通过),此时编译通过。

inline函数的实际功能

即在一个地方调用inline函数时,实际是编译器将整个inline函数的代码放入该调用的地方,使得程序能直接调用该函数进行计算。

在类中的inline

只要在类中直接定义给出了body的函数,程序默认其为inline函数。如果只声明,而在类外要进行定义(同一个.h文件)使其为inline函数,则必须在定义时在前加上inline。

注意

  1. 何时使用

当需要效率而对空间占用没有过多要求的时候可以使用inline函数。

  1. 类中何时直接定义

当所写函数代码较短时可直接在类中给出body。

  1. 何时不能使用

当函数为递归时,编译器不会把其当成inline函数,对于非常大的函数(一般超过二十行),编译器也会拒绝其为inline函数。

相关文章

  • Kotlin内联函数使用

    inline 本质 Kotlin中的内联函数使用inline关键字修饰,形如: 编译时,inline会将内联函数中...

  • C++ 从入门到放弃 (Day-02)

    内联函数(inline function) ◼ 使用inline修饰函数的声明或者实现,可以使其变成内联函数 建...

  • 内联函数

    内联函数 整理自内联函数百度百科 内联函数是指用inline修饰的函数(并不是所有用inline修饰的函数都是内联...

  • 04-内联函数(inline function)

    内联函数(inline function) 使用inline修饰函数的声明或者实现,可以使其变成内联函数。一般建议...

  • 内联函数、引用、const

    内联函数 inline function 使用inline修饰函数的声明或者实现,可以使其变成内联函数。 一般建议...

  • iOS-inline内联函数

    iOS-inline内联函数

  • Kotlin - Inline Functions 1

    Inline Basics Inline or Inlining,我们更经常听到的词是方法内联或者内联函数。在大多...

  • Kotlin之lambda、inline、扩展函数与匿名函数

    > inline 内联函数及其场景 inline只能提高带有lambda参数的函数的性能 ==好处==: 节约函数...

  • 3.构造函数

    inline(内联)函数 inline函数是直接替换函数名为函数内容.声明inline的两种方式: 函数定义时在函...

  • Kotlin内联函数

    Kotlin里使用关键 inline 来表示内联函数,那么到底什么是内联函数呢,内联函数有什么好处呢? 1. 什么...

网友评论

      本文标题:内联函数(inline)

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