STL::MAP的插入问题
我刚用MAP有好多功能不会用。
map<int,int> BmpFiles::GetShowList(map<int,int> rm)
{
map<int,int> mm,mm2;
map<int,int>::iterator im,im2;
int i = 1;
for(im = rm.begin();im != rm.end();im ++)
{
if(MainBmpFilesList[im->second - 1].BMPs != NULL)
{
mm.insert(make_pair(indexShowList ++,im->second));//这个不好
}
else
{
mm2 = GetShowList(MainBmpFilesList[im->second - 1].FileList);
for(im2 = mm2.begin();im2 != mm2.end();im2 ++)
{
mm.insert(make_pair(im2->first,im2->second));//这个不好
}
}
}
return mm;
}
//---------------------------------------------------------------------------
这段代码是把传入的RM把它变为一串连起来的数组。RM中存储的是一标。这段程序功能正常。但我觉得写得不是太好,因为它用了两个循环,不夠精简,请问有人可以帮我写得好些吗?
还有,请各位高人指点下STL的用法的文章和书籍给我参考参考。谢谢