我最近一直在使用 Objective-C,并且来自 C++ 世界,我没有为本地 Objective-C 集合指定容量的意义。
在 C++ 中,容器可以填充对象或引用类型(例如,引用包装器或指针),因此指定初始容量是有意义的,因为为一系列大对象预分配内存可以大大提高性能。然而,在Objective-C 中,集合只能包含对动态分配对象的引用,即指针。因此,我想知道指定容量的性能优势是什么,在最坏的情况下,如果集合的大小超过原始容量,则只需要复制指针。
显然,我对内存模型缺乏了解,那么我缺少什么?