我想在向量容器的给定间隔(不是整个向量)中搜索,以查看是否存在用户指定的整数。但我无法使其发挥作用。你能给我一些帮助吗?非常感谢你。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main ()
{
int myints[] = { 10, 20, 30 ,40 };
vector<int> myvector (myints,myints+4);
vector<int>::iterator it, itLower, itUpper;
itLower = myvector.begin();
itUpper = myvector.begin();
advance(itLower, 1);
advance(itUpper, 2);
// iterator to vector element:
it = find (itLower, itUpper, 50);
if (it != myvector.end())
{
// Found
cout << "Found it";
}
else
{
// Not fount
cout << "Not found it";
}
return 0;
}
答案 0 :(得分:0)
您可以直接替换
行if (it != myvector.end()) ...
通过
if (it != itUpper) ...
如果find
找不到该项,则返回最后一个元素(在您的情况下是您的范围的结尾而不是完整的向量)。请注意,范围定义为itUpper
独占。