• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Memory Managment (copys??)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Memory Managment (copys??)


  • Subject: Re: Memory Managment (copys??)
  • From: Will Mason <email@hidden>
  • Date: Sun, 6 Feb 2005 11:19:16 -0800 (PST)
  • Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys

> > NSMutableArray* array = [[NSMutableArray alloc] init];
> > SOMEObject* object;
> > int i;
> >
> > for (i = 0; i < 10; i++)
> > {
> >     object = [[SOMEObject alloc] init];
> >     [object setSomeProperty: i];
> >     [array addObject: object];
> >     [object release];
> > }
> > /* Do something with the array */
> > [array release];
>
> This code will leak. You should replace the first line in the for
> loop
> with:
>
> 	object = [[[SOMEObject alloc] init] autorelease];
>
> You need to make sure that any local objects  you use are (retain,
> alloc, copy) / (autorelease, release) balanced.

Sorry, but it looks like you overlooked something. There are exactly 10
alloc's for the variable "object" and exactly 10 releases for it. There
is exactly one alloc for the variable "array" and 1 release for it. If
I replace the line as you suggest there will be 20 releases (10
releases and 10 autoreleases for the variable "object"), which will
cause a seg fault, as there are only 10 alloc's.

There are no leaks in that code.

Cheers,
Will
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Memory Managment (copys??)
      • From: Thomas Davie <email@hidden>
References: 
 >Re: Memory Managment (copys??) (From: Roarke Lynch <email@hidden>)

  • Prev by Date: Re: Memory Managment (copys??)
  • Next by Date: Re: Memory Managment (copys??)
  • Previous by thread: Re: Memory Managment (copys??)
  • Next by thread: Re: Memory Managment (copys??)
  • Index(es):
    • Date
    • Thread