gpt4 book ai didi

ios - 重新分配指针会导致内存泄漏吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:09:22 25 4
gpt4 key购买 nike

我有以下代码,想知道当 iOS 重新收集分配的内存时会发生什么。内存 p1 指向之后是否会自动释放,尽管它​​现在指向不同的内存?并且 p2 指向的内存也会被自动释放,因为 p1 在语义上意味着一开始就指向自动释放的内存吗?

NSMutableArray *p1 = [NSMutableArray arrayWithCapacity:10];
NSMutableArray *p2 = [[NSMutableArray alloc] init];

// what will happen to the memory p1 and p2 point to
// after the following assignment, and at later stage?
p1 = p2;

最佳答案

什么都不会泄露,p1 是一个自动释放的对象,在这种情况下,在将 p2 分配给 p1 之后,它们都指向同一个对象。 p1 指向的原始对象由自动释放池管理,并在池耗尽时释放。不管是否是 ARC,假设你稍后发布 p2 就没有泄漏。

关于ios - 重新分配指针会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com