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

int在Objective-C中始终将s初始化为0 是否安全?


更具体地说,当int新实例化具有ivars 的对象时,可以安全地假定其ivars的值为0吗?


梦里花落0921
浏览 914回答 3
3回答

慕容3067478

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

FFIVE

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