内联函数 在ios中的运用 --黄仁斌
定义:
有函数的结构,但不具备函数的性质,类似于宏替换。代码中使用inline定义,能否形成内联函数,还要看编译器对内联函数体内部的定义的具体处理。
产生的动机:
消除函数调用产生的开销,适合与小内存函数,频繁执行的函数。
注意事项:
不能使用循环语句;不能使用开关语句;不能使用递归调用;定义在第一次调用之前;
结合使用的问题:
static inline fun_returnType Fun_name(param...){}
static 标识此内联联函数只能在本文件中使用,限制了内联函数的作用域。相对于宏来说,static inline具有和宏同样级别的开销,而且还提供了类型安全,没有长度和格式的具体限制。
有函数的结构,但不具备函数的性质,类似于宏替换。代码中使用inline定义,能否形成内联函数,还要看编译器对内联函数体内部的定义的具体处理。
产生的动机:
消除函数调用产生的开销,适合与小内存函数,频繁执行的函数。
注意事项:
不能使用循环语句;不能使用开关语句;不能使用递归调用;定义在第一次调用之前;
结合使用的问题:
static inline fun_returnType Fun_name(param...){}
static 标识此内联联函数只能在本文件中使用,限制了内联函数的作用域。相对于宏来说,static inline具有和宏同样级别的开销,而且还提供了类型安全,没有长度和格式的具体限制。
以下是上个项目用到的地方 可以把内联函数和宏放在同一个头文件里
如果调用不多的,可以写在m文件
如图
扩展阅读
http://wenku.baidu.com/link?url=enUimDBZgOWlcThiy_RePb-HY9rFycZF-nGxgrYAydQG2Bl9jr9C3HsC3x3-Y64T7mhJTgeJ0qEOQChQDXFqpSKlRRGMRIryGl2e7bjG-yi
http://wenku.baidu.com/view/43d2cc1d7cd184254b3535dd.html?re=view
作者:SIBU iOS DEV
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.