stl map,我已知某个元素的iterator :itr,我怎么知道这个map遍历出来后这个元素是第几个输出出来的?
map遍历类似这样:
map<***> m1;
for(itr = m1.begin();itr != end();itr++)
{
cout <<**;
}
我这样行不行?:int nIndex = itr - m1.begin();
[解决办法]
map如果支持迭代器相减就可以,但是得这样nIndex = itr - m1.begin()+1;
[解决办法]
int nIndex = std::distance(itr, m1.begin());
[解决办法]
设一个计数器:整形的;每次加1;你可以知道了;
[解决办法]