给定一张地图,我需要检索和操作两个立即存储的项目。对我来说,处理向量更容易,因为我可以执行“iter + 1”或“iter - 1”。而对于地图,我不走运。
例如,我举一个简单的例子如下: 注意:在我的实际应用中,我不会简单地减去这些数字。
int main ()
{
map<char,int> mymap;
map<char,int>::iterator it;
mymap['b'] = 100;
mymap['a'] = 200;
mymap['c'] = 300;
// show content:
map<char,int>::iterator firstItem = mymap.begin();
map<char,int>::iterator secondItem = ++mymap.begin();
for ( ; secondItem != mymap.end(); ++firstItem, ++secondItem )
cout << secondItem->second - firstItem->second << endl;
return 0;
}
问题> 有没有更好的解决方案?
谢谢