Материалы книги получены с http://www.itlibitum.ru/
Глобальное управление
По умолчанию объекты создаются глобальным оператором new и уничтожаются глобальным
оператором delete. Перегрузка этих операторов позволяет вам реализовать нестандартную схему управления памятью, но это считается дурным тоном.
1. Очень трудно объединить раздельно написанные библиотеки, каждая из которых перегружает заданные по умолчанию операторы new и delete.
2. Ваши перегрузки влияют не только на ваш код, но и на код, написанный другими (включая библиотеки, для которых нет исходных текстов).
3. Все перегрузки, принадлежащие конкретному классу, перегружают ваши глобальные версии.
На языке С++ это звучит так, словно вы заказываете чай одновременно с молоком и лимоном. Если вам захочется проделать нечто подобное у себя дома или в офисе - пожалуйста, но я не советую упоминать об этом на семинарах по С++.
4. Пользователи могут изменить вашу предположительно глобальную стратегию, перегружая операторы new и delete в конкретных классах. Перегрузка стандартных глобальных операторов дает меньше, чем хотелось бы.
Назад Содержание Далее
|