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!! 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. Link to comment https://forums.phpfreaks.com/topic/208121-understanding-release/#findComment-1088451 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.