Вызывает ли CFRelease более конкретные типы методов Release? - PullRequest
0 голосов
/ 19 июля 2011

Рассмотрим некоторые CGContextRef, CGContextRef contextref;// предположим, что он инициализирован

Теперь, если пользователь не вызывает CGContextRelease (contextref);и использует CFRelease (contextref);

Будет ли это вызывать CGContextRelease ()?

В документации сказано, что «эта функция эквивалентна CFRelease, за исключением того, что она не вызывает ошибку, если contextref имеет значение NULL».Мы можем использовать их для той же цели, но как это возможно.Как они связаны?Я предполагаю, что внутренне он должен использовать typeid для сравнения, а затем выпуска.Я прав?Если нет Как освобождает более специфический тип памяти?

Что произойдет, если пользователь не очистит память и выйдет, принудительно завершит работу?Как система утверждает, что поддерживает память?

Спасибо

1 Ответ

0 голосов
/ 28 июля 2011

Это обратное.CGContextRelease () вызовет CFRelease ().

...