Кто-нибудь может порекомендовать контейнер для замены C ++ std :: map?

С регулярным выражением , если вам нужен простой способ. В противном случае используйте FLEX / BISON .

Вы также можете использовать библиотеку синтаксического анализа URI

10
задан Robert Gould 24 September 2008 в 15:38
поделиться

4 ответа

Посмотрите Loki:: AssocVector и/или hash_map (большинство реализаций STL имеет этого).

4
ответ дан 3 December 2019 в 17:22
поделиться

Можно использовать станд.:: tr1:: unordered_map, который уже присутствует в большинстве реализаций STL и является частью C++ 0x стандарт.

Вот, это - текущая подпись:

template <class Key,
          class T,
          class Hash = std::tr1::hash<Key>,
          class Pred = std::equal_to<Key>,
          class Alloc = std::allocator<std::pair<const Key, T> > >
class unordered_map;
11
ответ дан 3 December 2019 в 17:22
поделиться

Maybe Google SparseHash мог помочь Вам?

6
ответ дан 3 December 2019 в 17:22
поделиться

Если Ваш ключ является простым типом, который может быть очень быстро сравнен, и у Вас есть не больше, чем несколько тысяч записей, у Вас могла быть лучшая производительность, просто вставляя Ваших пар std::vector и итерация для нахождения значения.

2
ответ дан 3 December 2019 в 17:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: