面试题- 基础篇

2019-01-25  本文已影响5人  纳兰沫

参考文献

iOS面试题09- 基础篇

define和const常量有什么区别

1.define在预处理阶段进行替换 const常量在编译阶段使用
2.宏不做类型检查 仅仅进行替换 const常量有数据类型 会指向类型检查
3.define不能调试 const常量可以调试
4.define定义的常量在替换后运行过程会不断占有内存 而const定义的常量存储
在数据段只有一份copy 效率更高
5.define可以定义一些简单的函数 const不可以

static关键字的作用

- 函数(方法)体内 static变量的作用范围为该函数体 该变量的内存只被分配一
次 因此其值在下次调用时仍维持上次的值 
- 在模块内的static全局变量可以被模块内所用函数访问 但不能被模块外其他
函数访问
- 在模块内的static函数只被这一模块内的其他函数调用 这个函数的使用范围
被限制在声明它的模块内
- 在类中的static成员变量属于整个类所拥有 对类的所有对象只有一份拷贝
- 在类中的static成员函数属于整个类所拥有 这个函数不接受this指针 因此只
能访问类的static成员变量
上一篇 下一篇

猜你喜欢

热点阅读