这个问题适用于std::set
和std::unsorted_set
。
我有一个指向集合中元素的迭代器。我想使用迭代器根据元素在集合中的位置获取元素的“索引”。
例如,我的集合的索引如下:
int index = 0;
for(MySetType::iterator begin = mySet.begin(); begin != mySet.end(); begin++)
{
cout << "The index for this element is " << index;
index++;
}
我曾尝试使用迭代器进行算术运算,但它不起作用:
int index = mySetIterator - mySet.begin();
有没有办法使用迭代器根据它在集合中的位置来获取这样的索引值?