[英]C++ check whether a classes object contains a certain element
可以说我有一堂这样的课
class Person
{
private:
int id;
string name ,lastname;
vector<Person> likedperson;
public:
//getter setters
}
如何检查喜欢的人是否有特定的ID
Person user;
if(user.likedperson.contains(34))
//do stuff
else
//do stuff
您想使用使用std::find_if
,例如:
if (std::find_if(std::begin(likedperson), std::end(likedperson),
[](const Person& p) -> bool { return p.id == 34; }) != std::end(likedperson)) {
与某些语言不同,C ++大多将对容器(存储数据的事物)进行操作的算法与容器本身分开。
有一种标准算法可以在任何容器中找到元素(如果存在): std::find
。 (有关更多详细信息,请参见http://en.cppreference.com/w/cpp/algorithm/find 。)
你想要类似的东西
if (std::find(likedperson.begin(), likedperson.end(), 34) != likedperson.end())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.