Средства выделения
Среди служб операционной системы, что Базовые краткие обзоры Основы являются выделением памяти. Это использует средства выделения с этой целью.
Средства выделения являются непрозрачными объектами, выделяющими и освобождающими память для Вас. Вы никогда не должны выделять, перераспределять или освобождать память непосредственно для Базовых объектов Основы — и редко должны Вы. Вы передаете средства выделения в функции, создающие объекты; эти функции имеют, «Создают» встроенный в их имена, например, CFStringCreateWithPascalString
. Функции создания используют средства выделения для выделения памяти для объектов, которые они создают.
Средство выделения связано с объектом через его продолжительность жизни. Если перераспределение памяти необходимо, объект использует средство выделения с этой целью и когда объект должен быть освобожден, средство выделения используется для освобождения объекта. Средство выделения также используется для создания любых объектов, требуемых первоначально созданным объектом. Некоторые функции также позволяют Вам передать в средствах выделения для особых целей, таких как освобождение памяти временных буферов.
Базовая Основа позволяет Вам создавать свои собственные средства выделения. Базовая Основа также обеспечивает системное средство выделения и первоначально устанавливает это средство выделения, чтобы быть по умолчанию для текущего потока. (Существует одно средство выделения по умолчанию на поток.) Можно установить пользовательское средство выделения, чтобы быть значением по умолчанию для потока в любое время в коде. Однако системное средство выделения является хорошим средством выделения общего назначения, которое должно быть достаточно для почти всех обстоятельств. Когда производительность является проблемой, пользовательские средства выделения могли бы быть необходимыми в особых случаях, такой как в определенных ситуациях на Mac OS 9 или как объемные средства выделения. За исключением этих редких случаев, Вы не должны ни использовать пользовательские средства выделения или устанавливать их как значение по умолчанию, специально для библиотек.
Для больше на средствах выделения и, в частности, информация о создании пользовательских средств выделения, посмотрите Создающие Пользовательские Средства выделения.