#include <iostream>
#include <list>
#include <string>
#include <algorithm>
using std::cin;
using std::cout;
using std::list;
using std::string;
using std::find_if;
using std::endl;
typedef struct node
{
int id;
int num;
}Node;
class findid
{
public:
findid(int whatId):id(whatId){}
bool operator()(Node* inNode){return (inNode->id)==id;}
private:
int id;
};
int main(int argc,char *argv[])
{
list<Node*>m_list;
list<Node*>::iterator pt;
Node *temp;
temp=new Node;
temp->id=0;
temp->num=123;
m_list.push_back(temp);
temp=new Node;
temp->id=1;
temp->num=456;
m_list.push_back(temp);
temp=new Node;
temp->id=2;
temp->num=789;
m_list.push_back(temp);
pt=find_if(m_list.begin(),m_list.end(),findid(1));
cout<<"id:"<<(*pt)->id<<endl;
cout<<"num:"<<(*pt)->num<<endl;
return 0;
}
C++ list 自定义的数据结构 find_if查找
最新推荐文章于 2023-11-14 10:47:28 发布