Шаг 185.
Библиотека STL.
Контейнеры STL. Другие контейнеры STL (общие сведения)

    На этом шаге мы приведем общие сведения по другим контейнерам STL.

    Библиотека STL - это архитектура, а не набор классов. Кроме стандартных контейнерных классов она позволяет работать с другими структурами данных. Вместо контейнеров STL программист может использовать строки или обычные массивы или же написать собственный контейнер для особых целей. При этом он по-прежнему может применять алгоритмы (например, сортировки или слияния) для своего типа контейнера. Подобная архитектура является хорошим примером "принципа открытой закрытости": библиотека открыта для расширения, но закрыта для модификации.

    Существуют три подхода к созданию "STL-совместимых" контейнеров:

    В следующих шагах сначала рассматривается использование строк как стандартных контейнеров (пример активного подхода). Затем пассивный подход будет описан на примере другого контейнера - обычного массива. Впрочем, для работы с данными обычного массива также подходят интерфейсные классы. В конце обсуждаются некоторые аспекты, относящиеся к хэш-таблице, - важному контейнеру, не описанному в стандарте.

    При написании собственного контейнера STL также можно обеспечить поддержку его параметризации для разных распределителей памяти. Стандартная библиотека C++ содержит набор специальных функций и классов для программирования с распределителями и неинициализированной памятью.

    На следующем шаге мы рассмотрим строки как контейнеры STL.




Предыдущий шаг Содержание Следующий шаг