Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Освобождение памяти - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Не создается объект класса NSBitmapImageRep http://www.cyberforum.ru/objective-c/thread687003.html
Здравствуйте! Есть такой код: NSInteger pixHiOut = currentImageRep.pixelsHigh * aScale; NSInteger pixWiOut = currentImageRep.pixelsWide * aScale; NSSize currentImageSize...
Objective-C Не видит файлы в директории Я только учусь программингу на objective-c и вот такая проблема: NSFileManager *fm=; NSString *pathToFile=]; if ( == NO) { return NO; } else { http://www.cyberforum.ru/objective-c/thread685149.html
Objective-C Не запускается Interface Builder
Привет. Начал изучение Obj-C. Использую Xcode 4.5.1, но не могу понять как запустить интерфейс билдер. его просто нет, и все. Перерыл пол-инета пытаясь понять в чме дело, или же где скачать билдер. В...
Два аргумента в label Objective-C
Всем привет! Прошу прощения за такой тупой вопрос, но все-таки его решения я так и не нашел... Допустим у меня есть 2 TextField и Label. Значение одного из них записать в label можно легко,...
Objective-C Добавить пункт в контекстное меню по правому клику http://www.cyberforum.ru/objective-c/thread683339.html
Всем привет. Нужно добавить пукнт (а к нему подпункты) в контекстное меню по правому клику, не могу найти как это сделать. Везде пишут использовать "службы" .. но они не подходят, нужно что бы это...
Objective-C navigation based application в xcode 4.5 Здравсвуйте! Сразу прошу прощения за дурацкий вопрос, но прошу не кидаться плохими словами:) Я занялся изучением Objective-C и программированием по iOS. Сейчас на этапе изучения книга... подробнее

Показать сообщение отдельно
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147

Освобождение памяти - Objective-C

05.11.2012, 10:37. Просмотров 1123. Ответов 5
Метки (Все метки)

Вопрос по примеру из книги Кочана С. "Программирование на Objective-C 2.0" (с. 153 если что ) Сейчас нету возможности проверить код, т.к нету компилятора.
Есть кусок следующего кода:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Fraction *aFraction = [[Fraction alloc]init];
Fraction *sum = [[Fraction alloc]init], *sum2;
int i, n, pow2;
[sum setTo: 0 over: 1]; //задаём дробь через метод, объявленный в хедере
//задаём n
pow2=2;
for (i=1; i<=n; ++i)
{
[aFraction setTo:1 over: pow2];
sum2 = [sum add: aFraction]; //сложение дробей
[sum release];
sum=sum2;
pow2 *=2;
}
//кодим всякую ересь
[aFraction release];
[sum release];
//и ещё немного ереси
}
Вопросы:
1. Почему мы освобождаем память для sum в цикле? Почему нельзя написать
Objective-C
1
sum = [sum add: aFraction];
2. Можно ли не выделять память для sum? Зачем мы вообще это делаем тут? Тогда можно было бы не объявлять переменную sum2 и делать так, как я показал в первом своём вопросе
3. Отдельный вопрос по указателям. Я с ними и в с++ путаюсь. Почему нельзя просто объявить
Objective-C
1
Fraction aFraction, sum
Почему именно указатели? Объясните, если несложно, т.к сколько не пытался разобраться никак не доходит толком
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru