我想检查载体中是否存在元素。我搜索了答案,我发现了这个
if(std::find(vector.begin(), vector.end(), item) != vector.end())
do_this();
else
do_that();
如果向量是类型结构怎么办?我们仍然可以使用它来查找向量中是否匹配。我想在结构条目中使用字段id在向量中找到。有可能??
struct entry{
int id;
int array[4] = {0};
int aray[4] = {0};
};
答案 0 :(得分:1)
您需要的是std::find_if()
:
auto it = std::find_if(vec.begin(), vec.end(), [](S s) { return 5 == s.id; } );
if (vec.end() != it)
do_this(); // it now points to the S instance found in the vector
else
do_that();