Хеш-карта обычно будет иметь некоторое интегральное представление строки, да.
std :: map требует сортировки, поэтому реализация ее в виде хеш-таблицы маловероятна, и я никогда не видел ее на практике.
Хорошее или плохое сравнение строк полностью зависит от того, что вы делаете, какие данные сравниваете и как часто.Если первая буква отличается, то она почти не отличается от целочисленного сравнения, например.
Вы хотите unordered_map (это версия Boost - в стандартной библиотеке TR1 также есть версияваш компилятор имеет это).
Стоит ли это для состояний игры?Да, но только потому, что использовать unordered_map просто.Вы преждевременно беспокоитесь об оптимизации на этом этапе.Не беспокойтесь о шаблонах доступа для вещей, которые вы будете искать тысячи раз в секунду (например, когда ваш профилировщик скажет вам, что это проблема).