如何找出一个项目是否存在于 std::vector 中? [英] How to find out if an item is present in a std::vector?

查看:40
本文介绍了如何找出一个项目是否存在于 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();

这篇关于如何找出一个项目是否存在于 std::vector 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆