在使用常量的时候,我看到主要有两种写法:#defineRKLICURegexEnumerationOptionsErrorKey@"RKLICURegexEnumerationOptionsErrorKey"externNSString*constRKLICURegexEnumerationOptionsErrorKey;这两种写法孰优孰劣?或者在哪些情况下该用那种写法?
2 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
define只是简单的替换,又称作宏定义、预处理命令。而const是要分配内存空间的,提示编译器遇到此变量和函数时在其他模块中寻找其定义还有就是#define是不会对数据类型进行检查的,而第二种会对数据类型进行安全检查、推荐可以看看这篇文章,对Define与Const分析的比较详细,自己拿捏!
添加回答
举报
0/150
提交
取消