Re: Чем заменить if () else if() else if() else if() else if
От: sergey_shandar США http://getboost.codeplex.com/
Дата: 18.08.04 07:44
Оценка: 8 (2) :)
Здравствуйте, korzhik, Вы писали:

...
K>и я вот думаю менять его или нет:
K>может заменить эту конструкцию на std::map
K>или ещё какой вариант, который вы мне здесь, я надеюсь, подскажете.
K>а может оставить как есть, в надежде что компилятор сделает подобие map за меня?

Насколько я понял словарь фиксированный, тогда можно сделать для него ДКА (детерминированный конечный автомат). Если памяти не жалко, то можно сделать O(m), где m — длина конкретной строки, а не количество слов в словаре, т.е. очень быстро . Пример как делать ДКА.

PS. Но что то я не уверен что понадобяться все эти выверты, std::map наверняка хватит.
getboost.codeplex.com
citylizard.codeplex.com