Класс-контейнер — это класс, разработанный для хранения и управления коллекциями объектов в памяти или во внешнем хранилище. Он работает как универсальный держатель, который предоставляет предопределённое поведение и хорошо известный интерфейс для доступа и манипуляции сохранёнными объектами. Основная цель — скрыть используемую топологию для ведения списка объектов, позволяя разработчикам работать с коллекциями, не вникая в детали реализации.
Классы-контейнеры разделяются по типам объектов, которые они хранят:
Однородные контейнеры: хранят группу объектов, которые все одного типа. Это самый распространённый тип в контейнерах стандартной библиотеки C++, таких как vector, list и map.
Неоднородные контейнеры: хранят группу смешанных объектов разных типов. Они менее распространены и обычно требуют специальной обработки, например использования указателей на базовый класс или шаблонов с типами variant.
Классы-контейнеры предоставляют несколько важных возможностей:
Стандартная библиотека предоставляет несколько классов-контейнеров:
vector, list, deque, set, map, queue, stack
Эти контейнеры отличаются характеристиками производительности и оптимизированы для разных паттернов доступа и операций.
Гомогенный контейнер может хранить объекты нескольких разных типов, а гетерогенный контейнер ограничен одним типом.
Новый — ещё не проверен сообществом
Вы