On Nov 12, 2011, at 2:29 AM, Jean-Daniel Dupas wrote:
> Le 12 nov. 2011 à 03:34, Charles Srstka a écrit :
>> 
>> In this day and age, you should probably just use @autoreleasepool instead 
>> of NSAutoreleasePool:
>> 
>> int get_float_data(float *result1, float *result2)
>> {
>>      @autoreleasepool {
>>              [objcCode call];
>>              *result1 = [more stuff];
>>              etc.;
>>      }
>>      
>>      return blahblah;
>> }
> 
> 
> Note that this code is not equivalent with the previous one. @autoreleasepool 
> does not drain on exception.

Incorrect. @autoreleasepool does everything that NSAutoreleasePool does on 
exceptions. (In fact, @autoreleasepool fixes a small leak that 
NSAutoreleasePool suffers.)

You may be thinking of ARC. ARC is expected to leak on exceptions unless you 
pass a special compiler flag. @autoreleasepool does not require ARC.


-- 
Greg Parker     gpar...@apple.com     Runtime Wrangler


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to