繁体   English   中英

C ++检查类对象是否包含某个元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM