如何找出一个项目是否存在于 std::vector 中?

2022-01-30 00:00:00 vector c++ std

我要做的就是检查一个元素是否存在于向量中,这样我就可以处理每种情况.

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();

相关文章