iOS基础知识
齐恒毅
一个普通的程序猿
展开
-
#define 和 const常量有什么区别
#define 和 const常量有什么区别 ? • define在预处理阶段进行替换,const常量在编译阶段使用 • 宏不做类型检查,仅仅进行替换,const常量有数据类型,会执行类型检查 • define不能调试,const常量可以调试 • define定义的常量在替换后运行过程中会不断地占用内存,而const定义的常量存储在数据段只有一份copy,效率更高 • d原创 2017-02-12 13:12:39 · 559 阅读 · 0 评论 -
iOS堆栈的理解和区别
堆栈的区别: 1、堆空间的内存是动态分配的、一般存放对象、并且需要手动释放内存。 2、栈空间的内存是由系统自动分配、一般存放局部变量等、不需要手动管理内存。 从管理方式来讲: ○ 对于栈来讲,是由编译器自动管理,无需我们手工控制; ○ 对于堆来说,释放工作由程序员控制,容易产生内存泄露(memory leak) 从申请大小大小方面讲: ○ 栈空间比较小 ○ 堆空间比原创 2017-02-12 13:03:49 · 1836 阅读 · 0 评论