Objective-c NSArray的初始化与initWithCapacity:0的关系
||
做
[[NSMutableArray alloc] init];
和
[[NSMutableArray alloc] initWithCapacity:0];
编译成完全一样的东西吗?
如果它们不同,那么在内存和运行时性能方面如何,哪种形式“更好”?
没有找到相关结果
已邀请:
1 个回复
校勒魏寡
将请求一个绝对没有分配空间的数组。这意味着要取决于
的实现:它可能不允许容量为0且行为与
完全相同,或者它可能不会立即分配任何内容而是分配一些金额(可能与或不与
相同)。首先需要它。 哪个执行“更好”完全取决于您期望使用阵列的方式。
说:“我对这个数组没有期望;我将对其进行大量添加或删除,否则它可能会很小。”
说:“我希望此数组不超过在可预见的未来有这么多要素。” 我唯一希望ѭ3合理的地方是,如果要创建一个在很长一段时间内都不希望填充任何东西的数组。 请注意,此处适用于标准性能警告:除非您概要分析并确定是事实,否则这可能不是问题。我真的无法想象一种情况(除了成千上万的“ 4”对象),两者之间的差异将是巨大的。