Inplus: Как это работает
Приведенные таблицы показывают, каким требованиям должен удовлетворять интерфейс контейнера, чтобы его можно было использовать вместе с алгоритмами из стандартной библиотеки С++.
Некоторые рекомендации по использованию контейнеров
Возможность вставки нового элемента на произвольную позицию контейнера
Если нужна, выбирайте последовательный контейнер; ассоциативные контейнеры не подходят.
быстрая вставка
list
Структура памяти контейнера должна соответствовать правилам языка C
Только vector
критична скорость поиска
Рассмотрите сортированные векторы и ассоциативные контейнеры
Общие рекомендации по использованию STL
Не пытайтесь писать контейнерно-независимый код, так вы себя ограничиваете в возможностях
Реализуйте быстрое и корректное копирование объектов в контейнерах
Старайтесь не использовать итераторы повторно (особенно после удаления элементов из контейнера)
Используйте алгоритмы вместо циклов
Всегда включайте только нужные заголовки - это позволит сократить время компиляции
Научитесь читать сообщения компилятора
Обязательно прочтите следующие книги:
Герб Саттер, Андрей Александреску, Стандарты программирования на С++
Герб Саттер, Решение сложных задач на С++
Реализация класса array, совместимого со стандартной библиотекой С++
Подобная реализация существует в С++, начиная со стандарта С++11.
Last updated