美文网首页[0005]iOS基础知识
iOS-const、宏、static、extern

iOS-const、宏、static、extern

作者: Super_Yi | 来源:发表于2015-12-24 19:54 被阅读234次
    const与宏区别:
    1. 编译时刻: const:编译 宏:预编译,打开项目时,自动读条
    2. 编译检测: const:会做编译检测 宏:不会做编译检测
    3. 宏的好处: 替代方法或者函数
    4. 宏的坏处: 项目中大量使用宏,会造成预编译时间过长.
    

    PS:很多blog提到宏会消耗大量内存,这种说法是错误的:
    验证:把宏赋值给不同的字符串对象,对象的内存地址是一样的

    const作用:
    1. 修饰右边变量(基本变量,指针变量)
    2. 被const修饰的变量只读
    
    const在开发中使用场景
    1.定义一些全局字符串只读变量(常量),代替宏
    2.限制方法中参数只读
    
    static:
    1.修饰局部变量:延迟局部变量生命周期,保证整个项目都在,只会分配一次内存,程序一运行,就会给static修饰变量分配内存
    2.修饰全局变量:限制全局变量作用域,只能在当前文件中访问.
    
    extern:
    声明外部变量,注意:不能用来定义变量
    

    相关文章

      网友评论

        本文标题:iOS-const、宏、static、extern

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