Мне нужен ассоциативный контейнер, который заставляет меня индексировать определенный объект через строку, но также сохраняет порядок вставки, поэтому я могу искать конкретный объект по его имя или просто перебрать его и получить объекты в том же порядке, в который я их вставил.Я не понимаю std :: tr1 :: unordered_map
Я думаю, что это hybrid of linked list and hash map должно выполнить эту работу, но прежде чем я попытался использовать std::tr1::unordered_map
, думая, что он работает таким образом, я описал это, но это не так. Так может кто-нибудь объяснить мне смысл и поведение unordered_map
?
@wesc: Я уверен, что станд :: Карта осуществляется STL, в то время как я уверен, что станд :: hash_map НЕ в STL (я думаю, что более ранняя версия Visual Studio положить его в пространстве имен называемый stdext).
@cristopher: так, если я правильно понимаю, разница заключается в реализации (и, следовательно, в действиях), а не в том, как она ведет себя внешне.
карта выполнена со сбалансированным двоичным деревом с ее ограничениями и преимуществами. unordered_map - хеш-таблица. – 2009-04-10 16:22:35