Таблица 1. Характеристики контейнеров STL
Вектор Дек Список Множество Мультимножество Отображение Мультиотображение
Типичная внутренняя реализация Динамический массив Массив массивов Двусвязный список Бинарное дерево Бинарное дерево Бинарное дерево Бинарное дерево
Элементы Значение Значение Значение Значение Значение Пара "ключ/значение" Пара "ключ/значение"
Возможность существования дубликатов Да Да Да Нет Да Не для ключа Да
Поддержка произвольного доступа Да Да Нет Нет Нет С ключом Нет
Категория итератора Произвольный доступ Произвольный доступ Двунаправленный Двунаправленный (константные элементы) Двунаправленный (константные элементы) Двунаправленный (константные ключи) Двунаправленный (константные ключи)
Скорость поиска Медленная Медленная Очень медленная Быстрая Быстрая Быстрая для ключа Быстрая для ключа
Быстрая вставка/удаление В конце В начале и в конце Где угодно - - - -
Недействительность итераторов, ссылок и указателей при вставке/удалени При перераспределении памяти Всегда Никогда Никогда Никогда Никогда Никогда
Освобождение памяти от удаленных элементов Никогда Иногда Всегда Всегда Всегда Всегда Всегда
Возможность резервирования памяти Да Нет - - - - -
Транзакционная безопасность (успешное выполнение или отсутствие изменений) Присоединение/удаление в конце Присоединение/удаление в начале и в конце Все операции кроме sort() и присваивания Все операции, кроме вставки нескольких элементов Все операции, кроме вставки нескольких элементов Все операции, кроме вставки нескольких элементов Все операции, кроме вставки нескольких элементов