Понимание превосходных концепций управления памятью Cocoa поможет вам с концепцией управления памятью в целом. Я скопировал концепцию автоматического выпуска в несколько проектов C ++, и она отлично работала. Apache и Subversion являются примерами другого программного обеспечения, которое также использует autorelease.
Лично я считаю retain / release / autorelease как раз для меня подходящим уровнем абстракции. Это не волшебство, поэтому, если мне действительно нужно сделать что-то странное, это легко сделать. С другой стороны, правила настолько просты, что становятся второй натурой до такой степени, что в конечном итоге вы просто больше не думаете об управлении памятью, это просто работает.
Добавьте к этому тот факт, что, как упомянуто выше, только большая часть Какао поддерживает сборку мусора, а то, что вы пишете, - это С, так что любой код, который вы пишете и / или используете, но не Какао, должен управляться вручную. , Это включает в себя CoreAudio, CoreGraphics и т. Д.
(Да, объекты CF работают с GC, но только если вы явно включили его для каждого объекта, и мне было сложно изучить правила GC-CF)
Подводя итог: я никогда не использую сборщик мусора сам (и единственный раз, когда я делал это, это было очень больно, поскольку у меня было немного C ++ и CG в миксе), и, насколько я знаю, большинство кодировщиков Какао очень используется для сохранения / выпуска / автоматического выпуска и использования этого.