我想搜索一个特定的数字,并有一个迭代器跟踪正在测试的数组元素。如果找到该数字,我想返回找到该数字的数组的索引。这就是我到目前为止所拥有的:
vector<int>::iterator iterator;
find(vector.begin(),vector.end(), num);
if(//the number is found in the search)
{
return //where the number is found
}
我不太确定如何将迭代器与被测数组的元素同步。如果可能的话,我将不胜感激为解决这个问题提供帮助。
答案 0 :(得分:2)
这应该做你想要的:
std::vector<int> v = {500, 600, 700};
auto it = std::find(v.begin(),v.end(), 600);
std::size_t pos = it - v.begin(); //found(iterator) - begin(iterator)
// of course first you should check if (it != v.end())