const和#define

作者: Tanyfi | 来源:发表于2016-07-31 21:51 被阅读42次

    const 和#define区别

    相同点: 定义的值不可变

    不同点:

    const:用const 在使用的地方,只会产生一个临时的内存区域, 内存只有一份  <苹果推荐使用>

    #define: 用这个重定义, 会再使用的地方产生多个临时区域, 内存有多份

    const :

    const 修饰: 全局变量    变成   全局常量  

    static const ... 变成私有, 其他地方不可访问

    引用常量的时候最好加上const  例如:  extern const tif ; 这样避免了别人误以为这是个可以修改的变量. 其实是个常量, 从根源阻止


    规范:

    新建一个头文件比如: tzf.h 专门用来放这些冲定义的常量, 最好在新建一个空文件取名 tzf.m 更加规范

    .h 文件内 引用 比如:  

    .m 文件内定义





    *const<*后const> :

    const int *p1;          int  const *p2;

    const 在*p1 *p2 前面, 所有*p1 和*p2 不可改, &p1 &p2 可以改

    字符串中用const:  NSString * const  XMGName = @"jack";

    把const 放在* 后 ,就可以防止别人在外面修改,这就是苹果为什么这样写的原因

    const *<*前const> :

    int * const p3;

    const * 后面, 所有*p1 和*p2 可改, &p1 &p2 不可以改

    相关文章

      网友评论

        本文标题:const和#define

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