我需要知道STL地圖操作使用指針到STL地圖
例如兩個指針之間的區別:使用矢量簡單
vector<pair<int, int> > v;
v.push_back(make_pair(0, 1));
v.push_back(make_pair(2, 3));
v.push_back(make_pair(4, 5));
v.push_back(make_pair(6, 7));
v.push_back(make_pair(8, 9));
vector<pair<int, int> >::iterator itrBegin = v.begin();
vector<pair<int, int> >::iterator itrEnd = v.end();
cout << itrEnd - itrBegin << endl;
輸出5
不過,我想使用STL地圖執行相同的操作
map<int, int> m;
m[0] = 1;
m[2] = 3;
m[4] = 5;
m[6] = 7;
m[8] = 9;
map<int, int>::iterator itrB = m.begin();
map<int, int>::iterator itrE = m.end();
cout << ????????????? << endl;
這本身沒有意義做的工作。它對於矢量是有意義的,因爲元素是有序的。地圖元素沒有以任何定義的順序。 – Adam
明白了,我認爲是不可能的。 –
我有一個使用矢量執行此操作的algorimo。修改STL地圖的結構,我認爲它不會影響。 –