开发者社区> 问答> 正文

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

在使用常量的时候,我看到主要有两种写法:

#define RKLICURegexEnumerationOptionsErrorKey @"RKLICURegexEnumerationOptionsErrorKey"
extern NSString * const RKLICURegexEnumerationOptionsErrorKey;

展开
收起
a123456678 2016-07-20 15:21:35 2155 0
1 条回答
写回答
取消 提交回答
  • define只是简单的替换,又称作宏定义、预处理命令。

    而const是要分配内存空间的,提示编译器遇到此变量和函数时在其他模块中寻找其定义

    还有就是#define是不会对数据类型进行检查的,而第二种会对数据类型进行安全检查、

    推荐可以看看这篇文章,对Define与Const分析的比较详细,自己拿捏!

    2019-07-17 19:58:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载