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