マップが与えられたら、すぐに保管された 2 つのアイテムを取得して操作する必要があります。私にとっては、「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;
}
質問> これに対するより良い解決策はありますか?
ありがとうございました