“#define没有类型检查”,其中类型检查是什么意思? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

“#define没有类型检查”,其中类型检查是什么意思?

杨冬芳 2016-05-30 14:14:00 1834

1,如题,“#define没有类型检查”,其中类型检查是什么意思

分享到
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:20:31

    define是预编译阶段进行简单替换的,并不检查类型,只是在替换后,如果有编译问题会警告或错误。

    而static const这种是会声明类型的,比如:

    staic NSString * const kName = @"name";

    所以如果使用kName去赋值给一个数组,自然会报警告,但是#define在某些时候并不能发现这种问题。

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章