map<string, string> m;
m["revolver"] = "rev";
m["bazuka"] = "baz";
m["shotgun"] = "gun";
m["laserbeem"] = "beam";
cout<<(*(++m.find("revolver"))).second<<endl;
int a;cin>>a;
return 0;
незабываем что елементы упорядочены по ключу
{
map<string, string> m;
m["revolver"] = "rev";
m["bazuka"] = "baz";
m["shotgun"] = "gun";
m["laserbeem"] = "beam";
map<string, string>::const_iterator i = m.find("revolver");
for(int j=1;j<10;++j)
{
i++;
if(i == m.end())
i = m.begin();
cout<<(*i).second<<endl;
}
int a;cin>>a;
return 0;
вот тебе цикличный вариант