• 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: CF autorelease?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF autorelease?


  • Subject: Re: CF autorelease?
  • From: Clark Cox <email@hidden>
  • Date: Thu, 23 Apr 2009 13:49:30 -0700

On Thu, Apr 23, 2009 at 1:42 PM, Todd Heberlein <email@hidden> wrote:
> Many of the Cocoa object allocation methods automatically do an autorelease
> before returning the pointer to the object, so I can call something like:
>
> foo( [NSString stringWithCString: "bar" encoding: NSASCIIStringEncoding] );
>
> and then not worry about memory leakage. Is the same true with Core
> Foundation calls? For example, will
>
> foo2( CFSTR("bar") ); or
> foo2 ( CFStringCreateWithCString(NULL, "bar", kCFStringEncodingASCII) );
>
> leak memory?

The former will not, while the latter will leak.

> I am wondering if I need to do stuff like:
>
> CFStringRef tmp_str = CFSTR("bar");
> foo2(tmp_str);
> CFRelease(tmp_str);

No, you don't. CFSTR-generated strings, like @""-strings, are special,
as they exist for the lifetime of your program.

--
Clark S. Cox III
email@hidden
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >CF autorelease? (From: Todd Heberlein <email@hidden>)

  • Prev by Date: CF autorelease?
  • Next by Date: Re: Core Data Fetches + Transient Properties + NSPredicateEditor = Sadness
  • Previous by thread: CF autorelease?
  • Next by thread: Re: CF autorelease?
  • Index(es):
    • Date
    • Thread