2012-10-04 1 views

ответ

5

Некоторые реализации хэш-карты будут переупорядочивать элементы хэш в один и тот же бит, помещая последний доступный элемент в начале списка в качестве оптимизации. Это изменит порядок. Я не знаю, что boost::unordered_map делает это, но в будущем вы можете заменить std::unordered_map, и все это будет зависеть от реализации вашего компилятора.

1

Это должно быть детерминированным, но до тех пор, пока они так называются неупорядоченным, вы не должны полагаться на это, чтобы перебирать ваши элементы.