Я слышал много людей, говорящих, что если количество элементов, ожидаемых в контейнере, относительно невелико, лучше использовать std::vector
вместо std::map
, хотя я использую контейнер только для поиска, а не для итерации.
Какова реальная причина этого?
Очевидно, что производительность поиска карты не может быть хуже, чем у вектора (хотя это может быть в наносекундах/микросекундах), так это имеет какое-то отношение к использованию памяти?
Действительно ли какой-либо другой тариф/хуже, чем карта при фрагментации виртуального адресного пространства?
Я использую библиотеку STL, которая поставляется вместе с Visual Studio (т.е. реализация Microsoft), делает ли это какое-либо отличие от других реализаций?