Здравствуйте, korzhik, Вы писали:
...
K>и я вот думаю менять его или нет:
K>может заменить эту конструкцию на std::map
K>или ещё какой вариант, который вы мне здесь, я надеюсь, подскажете.
K>а может оставить как есть, в надежде что компилятор сделает подобие map за меня?
Насколько я понял словарь фиксированный, тогда можно сделать для него ДКА (детерминированный конечный автомат). Если памяти не жалко, то можно сделать O(m), где m — длина конкретной строки, а не количество слов в словаре, т.е. очень быстро

.
Пример как делать ДКААвтор: sergey_shandar
Дата: 13.04.04
.
PS. Но что то я не уверен что понадобяться все эти выверты, std::map наверняка хватит.