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

标签 c++ class vector

假设我有这样的类(class)

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 

最佳答案

您想使用使用 UnaryPredicate 的 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++ 检查类对象是否包含某个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33975339/

相关文章:

java - 继承通用类型并强制 <type>

C++ 静态声明

C++ 使用指针修改 vector

c++ - 从轮廓绘制垫子?

c++ - 在 cpp 中重载 << 运算符时出错?不知道为什么?

c++ - 计算鼠标点击次数 C

java - 计算 vector int[]中 "0"位置之间的 "1"位置总数

java - 海量IO操作服务器选择哪种技术

C++ 提取器 (>>) 重载不读取和分配 Matrix 类

vector - 从 Rust 中的向量构建 HashSet