При итерации по std::map<X,std::vector<Y> >
могу ли я отсортировать векторы или это может сделать недействительным итератор?
Другими словами, в порядке ли следующий код?
typedef std::map<int, std::vector<int> > Map;
Map m;
for (Map::iterator it = m.begin(); it != m.end(); ++it) {
std::sort(it->second.begin(), it->second.end());
}