可能重复:
如何在std :: vector中查找项目?
这就是我要找的东西:
#include <vector>
std::vector<int> foo() {
// to create and return a vector
return std::vector<int>();
}
void bar() {
if (foo().has(123)) { // it's not possible now, but how?
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我正在寻找一种简短的语法来验证向量中元素的存在.我不想为这个向量引入另一个临时变量.谢谢!
Vla*_*mir 45
未分类的矢量:
if (std::find(v.begin(), v.end(),value)!=v.end())
...
Run Code Online (Sandbox Code Playgroud)
排序矢量:
if (std::binary_search(v.begin(), v.end(), value)
...
Run Code Online (Sandbox Code Playgroud)
PS可能需要包含<algorithm>标题
int elem = 42;
std::vector<int> v;
v.push_back(elem);
if(std::find(v.begin(), v.end(), elem) != v.end())
{
//elem exists in the vector
}
Run Code Online (Sandbox Code Playgroud)
vector<int>::iterator it = std::find(v.begin(), v.end(), 123);
if(it==v.end()){
std::cout<<"Element not found";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77603 次 |
| 最近记录: |