В С++-карте STL у меня есть определение типа
map<string, map<int, string> >;
и я итерации, используя следующий код.
for( map<string, map<int, string> >::iterator ii=info.begin(); ii!=info.end(); ++ii){
for(map<int, string>::iterator j=ii->second.begin(); j!=ii->second.end();++j){
cout << (*ii).first << " : " << (*j).first << " : "<< (*j).second << endl;
}
}
Мое сомнение в том, что это правильный способ повторения или есть лучший способ сделать это? Вышеприведенный код работает для меня. Но m ищет более элегантное решение.