iOS-const、宏、static、extern

const与宏区别:
1. 编译时刻: const:编译 宏:预编译,打开项目时,自动读条
2. 编译检测: const:会做编译检测 宏:不会做编译检测
3. 宏的好处: 替代方法或者函数
4. 宏的坏处: 项目中大量使用宏,会造成预编译时间过长.

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

const作用:
1. 修饰右边变量(基本变量,指针变量)
2. 被const修饰的变量只读
const在开发中使用场景
1.定义一些全局字符串只读变量(常量),代替宏
2.限制方法中参数只读
static:
1.修饰局部变量:延迟局部变量生命周期,保证整个项目都在,只会分配一次内存,程序一运行,就会给static修饰变量分配内存
2.修饰全局变量:限制全局变量作用域,只能在当前文件中访问.
extern:
声明外部变量,注意:不能用来定义变量
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • static 修饰局部变量 让局部变量只初始化一次 局部变量在程序中只有一份内存 并不会改变局部变量的作用域,仅仅...
    大冲哥阅读 1,519评论 0 1
  • ####一、宏 #####常见用法: 1).常用的字符串抽成宏(苹果不推荐我们抽成宏,推荐我们使用const常量。...
    fjytqiu阅读 2,200评论 1 6
  • static 修饰局部变量 1.让局部变量只初始化一次 2.局部变量在程序中只有一份内存 3.并不会改变局部变量的...
    千寻_544f阅读 2,470评论 0 0
  • 宏的常见用法: 常见字符串抽成宏 常见代码抽成宏 const(常量) 当有字符串常量的时候,苹果推荐我们使用con...
    zhanming阅读 1,754评论 0 11
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 2,595评论 0 35

友情链接更多精彩内容