内联函数(inline修饰的函数)

2021-03-10  本文已影响0人  ahtaitian

内联函数

        iOS开发同学经常会在有些代码中看到inline关键词修饰的函数,这里就和大家说下这个关键词。

        inline关键字修饰的函数,用来建议编译器对一些特殊函数进行内联扩展,也就是说建议编译器将指定的函数体插入并取代每一处调用该函数的地方(上下文),从而节省了每次调用函数带来的额外时间开支,

        函数的调用需要额外的时间,如果函数体比较小,可以将函数的调用改成将函数体的代码复制到原来的上下文中,合并了比较小的函数代码,减少了调用的时间成本。以达到优化的目的。如果函数体比较大,编译器会按照普通函数调用进行处理。

说明:

1、只有c/c++中才有内联函数,Objective-C中没有内联函数

2、通常来说可以修饰为内联函数行数比较少,比如1-5行的代码量比较小的函数

3、内联函数中不可含有静态变量、循环、递归函数、switch、goto语句等否则编译器会忽略inline,按照普通函数进行调用。

上一篇下一篇

猜你喜欢

热点阅读