为了账号安全,请及时绑定邮箱和手机立即绑定

是否总是将int初始化为0?

是否总是将int初始化为0?

梦里花落0921 2019-11-14 14:37:49
int在Objective-C中始终将s初始化为0 是否安全?更具体地说,当int新实例化具有ivars 的对象时,可以安全地假定其ivars的值为0吗?
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

在上述情况下,所有变量对于其各自的数据类型均以“零初始化”的方式表示。算术类型(intNSUIntegerCGFloatfloatboolBOOLchar,等等)都被初始化到在这些类型的代表0。

查看完整回答
反对 回复 2019-11-14
?
FFIVE

TA贡献1797条经验 获得超6个赞

对目标C的回答是完全正确的-目标C绝对保证将ivars在分配时设置为nil / NULL / false / 0,并且完全可以接受和使用这个事实。例如,当发现它们为nil时,可以使用[NSMultableArray array或new]对NSMultableArray * ivars进行简单的延迟初始化。结合使用目标C保证[(NSMultableArray *)count]返回0,通常可以进一步推迟初始化。学会热爱目标C的实现方式,而不仅仅是与之抗衡。

查看完整回答
反对 回复 2019-11-14
  • 3 回答
  • 0 关注
  • 906 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信