如何找出一个项目是否存在于 std::vector 中?
我要做的就是检查一个元素是否存在于向量中,这样我就可以处理每种情况.
All I want to do is to check whether an element exists in the vector or not, so I can deal with each case.
if ( item_present )
do_this();
else
do_that();
推荐答案
你可以使用std::find
from <algorithm>
:
#include <algorithm>
#include <vector>
vector<int> vec;
//can have other data types instead of int but must same datatype as item
std::find(vec.begin(), vec.end(), item) != vec.end()
这会返回一个迭代器,指向找到的第一个元素.如果不存在,它会返回一个迭代器到最后一个.用你的例子:
This returns an iterator to the first element found. If not present, it returns an iterator to one-past-the-end. With your example:
#include <algorithm>
#include <vector>
if ( std::find(vec.begin(), vec.end(), item) != vec.end() )
do_this();
else
do_that();
相关文章