《编写高质量代码:改善Objective-C程序的61个建议》——建议3:尽量使用const、enum来替换预处理#define
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第1章,第1.3节,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
建议3:尽量使用const、enum来替换预处理#define
#define
定义了一个宏,在编译开始之前就会被替换。const只是对变量进行修饰,当试图去修改该变量时,编译器会报错。在一些场合里你只能用 #define,而不能用 const。理论上来说,const 不仅在运行时需要占用空间,而且还需要一个内存的引用;但从时间上来说,这是无关紧要的,编译器可能会对其进行优化。
const在编译和调试的时候比 #define 更友好。在大多数情况下,当你决定用哪一个时,这是你应该考虑的一个非常重要的点。
想象一下,下面这样一个应该使用 #define 而不是

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《编写高质量代码:改善Objective-C程序的61个建议》——建议2:在头文件中尽量减少其他头文件的引用
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第1章,第1.2节,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 建议2:在头文件中尽量减少其他头文件的引用 在面向对象开发语言中,如C++、C#、Java等语言中,对于类的描述,通常划分为头文件和源文件。头文件用于描述类的声明和可公开部分,而源文件用于描述类的方法或函数的具体实现,这也体现了面向对象语言的“封闭性”和“高内聚低耦合”的特性。而对于基于面向对象而设计的Objective-C也不例外,类分为头文件(.h)和源文件(.m)。在OOP编程中有两个技术用于描述类与类或对象与对象之间的关系:一个是继承;另一个是复合。在Objective-C中,当一个类需要引用另一个类,即建立复合关系时,需要在类的头文件(.h)中
- 下一篇
《编写高质量代码:改善Objective-C程序的61个建议》——建议4:优先使用对象字面量语法而非等效方法
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第1章,第1.4节,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 建议4:优先使用对象字面量语法而非等效方法 很多刚从其他编程语言转到Objective-C的程序员,往往一看到长长的函数名就会感到崩溃,这种语法让消息的传递像一个英语句子,虽有不足但确实大大增强了可读性。比如想初始化一个浮点数,需要这么写: NSNumber value = [NSNumber numberWithFloat:123.45f]; 从这句中能够明确地知道代码的含义,但是,是否连简单的赋值语句也要这么处理呢?在2012年的苹果年度大会上,苹果介绍了大量Objective-C的新特性之一—对象字面量(Object Literals),能够帮助iOS
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G