int在Objective-C中始终将s初始化为0 是否安全?更具体地说,当int新实例化具有ivars 的对象时,可以安全地假定其ivars的值为0吗?
3 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
在上述情况下,所有变量对于其各自的数据类型均以“零初始化”的方式表示。算术类型(int
,NSUInteger
,CGFloat
,float
,bool
,BOOL
,char
,等等)都被初始化到在这些类型的代表0。
FFIVE
TA贡献1797条经验 获得超6个赞
对目标C的回答是完全正确的-目标C绝对保证将ivars在分配时设置为nil / NULL / false / 0,并且完全可以接受和使用这个事实。例如,当发现它们为nil时,可以使用[NSMultableArray array或new]对NSMultableArray * ivars进行简单的延迟初始化。结合使用目标C保证[(NSMultableArray *)count]返回0,通常可以进一步推迟初始化。学会热爱目标C的实现方式,而不仅仅是与之抗衡。
- 3 回答
- 0 关注
- 906 浏览
添加回答
举报
0/150
提交
取消