Можно
#include <string>
#include <map>
// так нам будет легче жить
typedef std::map<std::string,int> commands_type;
typedef commands_type::value_type value_type;
// заполняем мап возможными вариантами
commands_type commands;
commands.insert(value_type(std::string("слово0"),0));
commands.insert(value_type(std::string("слово1"),1));
commands.insert(value_type(std::string("слово2"),2));
commands.insert(value_type(std::string("слово3"),3));
// собственно поиск
commands_type::iterator command=commands.find(value_type(std::string("слово2"));
switch(command->second)
{
case 0:
...
break;
case 1:
...
break;
case 2:
// вот сюда мы и придём
...
break;
case 3:
...
break;
}
// вот, собственно, и всё.
Если что не так, прошу сильно не пинать, так как с STL я ещё только на этапе знакомства.
Кстати, может, есть у кого книжка Леена Аммерааля "STL для программистов С++" ? Давно ищу, но ни в бумажном, ни в электронном виде не встречал ещё. Книга достаточно редкая...