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

内联函数

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

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

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

说明:

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容