раммой. Например, чтобы перейт

Автор admin Пятница, 5 июня 2009 11:32

раммой. Например, чтобы перейти от вектора к списку, достаточно изменения двух строк. Вместо включения заголовка включается заголовок , а первое определение типа приводится к виду typedef std::list Container: Весь остальной код остается без изменений. Такая гибкость стала возможной благодаря интерфейсу, установленному не механизмом наследования (в STL наследование почти не используется), а правилами, которыми руководствовались разработчики STL специально для того, чтобы сделать возможной подобную замену. Теперь с вектора молено легко переключиться на список или любой другой контейнер с идентичным интерфейсом (как синтаксически, так и семантически) и посмотреть, какой вариант лучше подходит для ваших целей. Хранение строк в контейнере В предыдущем примере функция main() должна была завершаться перебором всего списка и вызовом оператора delete для указателей на Shape: fordter j = shapes.beginO: j != shapes.end(): delete *j; Контейнеры STL гарантируют, что для каждого содержащегося в них объекта будет вызван деструктор при уничтожении контейнера. Однако у указателей нет деструкторов,


Комментарии закрыты.