iOS笔记—#define

在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。
  在C或C++语言中,“宏”分为有参数和无参数两种。

#define,宏定义。可以用来定义常量、函数、表达式等。当编译器遇到宏定义时,会把宏定义先转回定义的值或者方法。 它本身没有类型,不做类型检查,只在预处理器做文本替换。它不是说明或者语句,不需要用分号结尾,如果使用分号,则连分号一起置换。但大量用宏会导致二进制文件变大

使用#define定义常量
 #define MIN  100         // 最小值 100. 

有点类似于:const,但const会在编译阶段进行类型检查

const int min = 100;		// 最小值 100.
使用#define定义函数
#define MIN(x, y) ( ((x) < (y)) ? (x) : (y) ) // 最小值函数
为什么使用宏定义?

宏定义一般用来做限制,常说限定宏。大多数宏都是拿来规范开发者。譬如最小值#define MIN 100 , 在代码中可以直接使用

#define MIN 0.1
#define MAX 0.9

// other code 
slider.miniValue = MIN   // 根据自定义限定进度最小值只有0.1 而不是0
slider.maxValue = MAX    // 根据自定义限定进度最大值只有0.9 而不是1
// other code 

若直接写

// other code 
slider.miniValue =  0.1   
slider.maxValue =  0.9  
// other code 

这样子可能会产生一个误解就是,在此处的时候最值是这种情况,在其他处使用的时候仍然是0-1的范围。 或者多次手写的时候可能就会产生疏漏的情况。 譬如一百处使用到了这两段代码,而后根据业务需求需要将其范围改成0.12-0.89,那么可能漏改了一两个也很正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值