thomashw Posted July 18, 2010 Share Posted July 18, 2010 I've bolded the part of the code I don't fully understand. Won't sum = sum2 just overwrite the old sum? So why do you need to release it beforehand? Why isn't sum2 released at the end of the program? Should it be? #import “Fraction.h” int main (int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; Fraction *aFraction = [[Fraction alloc] init]; Fraction *sum = [[Fraction alloc] init], *sum2; int i, n, pow2; [sum setTo: 0 over: 1]; // set 1st fraction to 0 NSLog (@”Enter your value for n:”); scanf (“%i”, &n); pow2 = 2; for (i = 1; i <= n; ++i) { [aFraction setTo: 1 over: pow2]; sum2 = [sum add: aFraction]; [b] [sum release]; // release previous sum sum = sum2;[/b] pow2 *= 2; } NSLog (@”After %i iterations, the sum is %g”, n, [sum convertToNum]); [aFraction release]; [sum release]; [pool drain]; return 0; } Thank you!! Quote Link to comment https://forums.phpfreaks.com/topic/208121-understanding-release/ Share on other sites More sharing options...
thomashw Posted July 20, 2010 Author Share Posted July 20, 2010 Bump. Quote Link to comment https://forums.phpfreaks.com/topic/208121-understanding-release/#findComment-1088451 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.