内联函数 在ios中的运用 --黄仁斌
2024-10-19 21:20:46
定义:
有函数的结构,但不具备函数的性质,类似于宏替换。代码中使用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
最新文章
- CentOS 7 网卡子接口的创建
- ASP。net 测验
- 添加 Gradle 依赖与 build.gradle 配置初识
- Codeforce Round #216 Div2
- js中关于prototype学习(2015年1月5号晚)
- 用Jquery Widgets Factory写自己的表格控件——AFGrid(支持增、删、改)
- IOS NSNotificationCenter 的使用
- USB Key插入和移除监控
- MyBatis+mysql 简单分页
- JDBC连接池-C池3P0连接
- Android okHttp网络请求库详解
- 第三次Scrum冲刺————Life in CCSU
- Django中间件的使用
- [AHOI2005]矿藏编码
- 1z0-052 q209_7
- MapReduce两种执行环境介绍:本地测试环境,服务器环境
- AndroidManifest.xml文件详解(meta-data)
- 时间同步Servname not supported for ai_socktype
- iOS :学习新技术途径和sizeClasses屏幕适配
- 浅析JAVA Runtime原理与过各大厂商免杀webshell制作