ducin ducin - 1 year ago 86
C++ Question

C++ check if element is in the list (contains)

I've got a list of elements, say, integers and I want to check if my variable (another integer) is one of the elements from the list. In python I'd do:

my_list = [1,2,3,4] # elements
my_var = 3 # my variable
my_var in my_list # returns boolean


How to do that in C++? I thought of using
std::list
, but I can find no
find
method in it. I can see such method in
std::set
structure.

More deeply, the problem is that my program is given some unique ids (a list, a set, whatever) and I iterate over a long list of input data (ids) and check if they are included in the list (boolean value returned for each iteration step). And I'm not sure how should I do that in C++.

Answer Source

You can use std::find

bool found = (std::find(my_var.begin(), my_var.end(), my_variable) != my_var.end());

You need to include <algorithm>. It should work on standard containers, vectors lists, etc...