美文网首页
iOS中define宏和const常变量的区别

iOS中define宏和const常变量的区别

作者: 我是小范范呀 | 来源:发表于2017-09-19 21:58 被阅读0次

    1、其实不仅是iOS中,c及c++中区别也是如此

    2、区别:(1)define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此,在程序运行时,常量表中并没有define定义的常量,系统不为他分配内存。const在程序运行时存在于常量表中,系统为他分配了内存;(2)define定义的常量在预编译处理时只是进行了替换,并不能进行数据类型检验;const定义的常量,在预编译时进行严格的数据检验

    3、define定义的常量要注意“边缘效应”,如下举例什么是“边缘效应”

      #define  a    2+3,,,那么a / 2结果应该是什么呢?“边缘效应”的结果是——3,,,而你希望得到——2;所以你定义时应该这样:#define  a    (2+3)

    4、NSString * const a = @"6666"-----和NSString const *a =@"6666"的区别

    打印“块1”的结果

    打印“块2”的结果

    相关文章

      网友评论

          本文标题:iOS中define宏和const常变量的区别

          本文链接:https://www.haomeiwen.com/subject/iaaysxtx.html