A common pattern with STL containers is this:
map map; for(map::iterator iter = map.begin(); iter != map.end(); ++iter) { .
If the typedef is local to a single function it doesn't even need to be a nice name. Use X or MAP, just like in a template.