|
Материалы книги получены с http://www.itlibitum.ru/
Управление памятью под руководством клиента
Как демонстрируют приведенные выше фрагменты, клиентский код может выбирать, где объект должен находиться в памяти. Обычно это делается с помощью перегруженного оператора new, имеющего дополнительные аргументы помимо size_t. В управлении памятью открываются новые перспективы - управление на уровне отдельных объектов, а не класса в целом. К сожалению, эта стратегия перекладывает на клиента хлопоты, связанные с освобождением памяти. Реализация получается сложной, а модульность - низкой. Например, стоит изменить аргументы нестандартного оператора new, и вам придется вносить изменения во всех местах клиентского кода, где он используется. Пока все перекомпилируется заново, можно погулять на свежем воздухе. Впрочем, несмотря на все проблемы, эта стратегия легко реализуема, очень эффективна и хорошо работает в простых ситуациях.
Назад Содержание Далее
|