Find if an object attribute is in the Vector of objects C++
本问题已经有最佳答案,请猛点这里访问。
我试图查找对象的属性是否在矢量中。
例如,如果我有一个Car对象的向量,而Car对象具有许可证,方向和时间的属性。我想确定方向'N'是否在Car对象的向量中。如果属性在Cars向量中,则返回true或false。
这是我到目前为止拥有的功能,但是我想使用stl find()方法搜索属性:
1 2 3 4 5 6 7 8 9 | bool isIn(std::vector<Car *> c, std::string check){ for (auto i = 0; i < c.size(); i++) { if (c[i]->dir == check) { return true; } } return false; |
} ??
传入的参数是Cars的向量和方向。
在您的情况下,std :: find_if可能是解决方案
1 | auto it = find_if(c.begin(), c.end(), [&check](const Car& obj) {return obj.getDir() == check;}) |