为了账号安全,请及时绑定邮箱和手机立即绑定

extern字符串常量,宏定义字符串常量,怎么选

extern字符串常量,宏定义字符串常量,怎么选

Smart猫小萌 2019-04-06 16:57:48
在使用常量的时候,我看到主要有两种写法:#defineRKLICURegexEnumerationOptionsErrorKey@"RKLICURegexEnumerationOptionsErrorKey"externNSString*constRKLICURegexEnumerationOptionsErrorKey;这两种写法孰优孰劣?或者在哪些情况下该用那种写法?
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

define只是简单的替换,又称作宏定义、预处理命令。
而const是要分配内存空间的,提示编译器遇到此变量和函数时在其他模块中寻找其定义
还有就是#define是不会对数据类型进行检查的,而第二种会对数据类型进行安全检查、
推荐可以看看这篇文章,对Define与Const分析的比较详细,自己拿捏!
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号